Unified · Split
| @@ -34,13 +34,18 @@ modules.builtin · 33 unmodified lines | |||
| 34 | # | 34 | # |
| 35 | # Top-level generic files | 35 | # Top-level generic files |
| 36 | # | 36 | # |
| 37 | tags | 37 | /tags |
| 38 | TAGS | 38 | /TAGS |
| 39 | vmlinux | 39 | /linux |
| 40 | vmlinuz | 40 | /vmlinux |
| 41 | System.map | 41 | /vmlinuz |
| 42 | Module.markers | 42 | /System.map |
| 43 | Module.symvers | 43 | /Module.markers |
| 44 | /Module.symvers | ||
| 45 | |||
| 46 | # | ||
| 47 | # git files that we don't want to ignore even it they are dot-files | ||
| 48 | # | ||
| 44 | !.gitignore | 49 | !.gitignore |
| 45 | !.mailmap | 50 | !.mailmap |
| 46 | 51 | ||
| @@ -0,0 +1,7 @@ | |||
| 1 | What: /sys/devices/system/node/nodeX | ||
| 2 | Date: October 2002 | ||
| 3 | Contact: Linux Memory Management list <linux-mm@kvack.org> | ||
| 4 | Description: | ||
| 5 | When CONFIG_NUMA is enabled, this is a directory containing | ||
| 6 | information on node X such as what CPUs are local to the | ||
| 7 | node. | ||
| @@ -160,7 +160,7 @@ Description: · 159 unmodified lines | |||
| 160 | match the driver to the device. For example: | 160 | match the driver to the device. For example: |
| 161 | # echo "046d c315" > /sys/bus/usb/drivers/foo/remove_id | 161 | # echo "046d c315" > /sys/bus/usb/drivers/foo/remove_id |
| 162 | 162 | ||
| 163 | What: /sys/bus/usb/device/.../avoid_reset | 163 | What: /sys/bus/usb/device/.../avoid_reset_quirk |
| 164 | Date: December 2009 | 164 | Date: December 2009 |
| 165 | Contact: Oliver Neukum <oliver@neukum.org> | 165 | Contact: Oliver Neukum <oliver@neukum.org> |
| 166 | Description: | 166 | Description: |
| @@ -1,12 +1,12 @@ | |||
| 1 | Dynamic DMA mapping | 1 | Dynamic DMA mapping Guide |
| 2 | =================== | 2 | ========================= |
| 3 | 3 | ||
| 4 | David S. Miller <davem@redhat.com> | 4 | David S. Miller <davem@redhat.com> |
| 5 | Richard Henderson <rth@cygnus.com> | 5 | Richard Henderson <rth@cygnus.com> |
| 6 | Jakub Jelinek <jakub@redhat.com> | 6 | Jakub Jelinek <jakub@redhat.com> |
| 7 | 7 | ||
| 8 | This document describes the DMA mapping system in terms of the pci_ | 8 | This is a guide to device driver writers on how to use the DMA API |
| 9 | API. For a similar API that works for generic devices, see | 9 | with example pseudo-code. For a concise description of the API, see |
| 10 | DMA-API.txt. | 10 | DMA-API.txt. |
| 11 | 11 | ||
| 12 | Most of the 64bit platforms have special hardware that translates bus | 12 | Most of the 64bit platforms have special hardware that translates bus |
| @@ -26,12 +26,15 @@ mapped only for the time they are actually used and unmapped after the DMA · 13 unmodified lines | |||
| 26 | transfer. | 26 | transfer. |
| 27 | 27 | ||
| 28 | The following API will work of course even on platforms where no such | 28 | The following API will work of course even on platforms where no such |
| 29 | hardware exists, see e.g. arch/x86/include/asm/pci.h for how it is implemented on | 29 | hardware exists. |
| 30 | top of the virt_to_bus interface. | 30 | |
| 31 | Note that the DMA API works with any bus independent of the underlying | ||
| 32 | microprocessor architecture. You should use the DMA API rather than | ||
| 33 | the bus specific DMA API (e.g. pci_dma_*). | ||
| 31 | 34 | ||
| 32 | First of all, you should make sure | 35 | First of all, you should make sure |
| 33 | 36 | ||
| 34 | #include <linux/pci.h> | 37 | #include <linux/dma-mapping.h> |
| 35 | 38 | ||
| 36 | is in your driver. This file will obtain for you the definition of the | 39 | is in your driver. This file will obtain for you the definition of the |
| 37 | dma_addr_t (which can hold any valid DMA address for the platform) | 40 | dma_addr_t (which can hold any valid DMA address for the platform) |
| @@ -78,44 +81,43 @@ for you to DMA from/to. · 40 unmodified lines | |||
| 78 | DMA addressing limitations | 81 | DMA addressing limitations |
| 79 | 82 | ||
| 80 | Does your device have any DMA addressing limitations? For example, is | 83 | Does your device have any DMA addressing limitations? For example, is |
| 81 | your device only capable of driving the low order 24-bits of address | 84 | your device only capable of driving the low order 24-bits of address? |
| 82 | on the PCI bus for SAC DMA transfers? If so, you need to inform the | 85 | If so, you need to inform the kernel of this fact. |
| 83 | PCI layer of this fact. | ||
| 84 | 86 | ||
| 85 | By default, the kernel assumes that your device can address the full | 87 | By default, the kernel assumes that your device can address the full |
| 86 | 32-bits in a SAC cycle. For a 64-bit DAC capable device, this needs | 88 | 32-bits. For a 64-bit capable device, this needs to be increased. |
| 87 | to be increased. And for a device with limitations, as discussed in | 89 | And for a device with limitations, as discussed in the previous |
| 88 | the previous paragraph, it needs to be decreased. | 90 | paragraph, it needs to be decreased. |
| 89 | 91 | ||
| 90 | pci_alloc_consistent() by default will return 32-bit DMA addresses. | 92 | Special note about PCI: PCI-X specification requires PCI-X devices to |
| 91 | PCI-X specification requires PCI-X devices to support 64-bit | 93 | support 64-bit addressing (DAC) for all transactions. And at least |
| 92 | addressing (DAC) for all transactions. And at least one platform (SGI | 94 | one platform (SGI SN2) requires 64-bit consistent allocations to |
| 93 | SN2) requires 64-bit consistent allocations to operate correctly when | 95 | operate correctly when the IO bus is in PCI-X mode. |
| 94 | the IO bus is in PCI-X mode. Therefore, like with pci_set_dma_mask(), | 96 | |
| 95 | it's good practice to call pci_set_consistent_dma_mask() to set the | 97 | For correct operation, you must interrogate the kernel in your device |
| 96 | appropriate mask even if your device only supports 32-bit DMA | 98 | probe routine to see if the DMA controller on the machine can properly |
| 97 | (default) and especially if it's a PCI-X device. | 99 | support the DMA addressing limitation your device has. It is good |
| 98 | 100 | style to do this even if your device holds the default setting, | |
| 99 | For correct operation, you must interrogate the PCI layer in your | ||
| 100 | device probe routine to see if the PCI controller on the machine can | ||
| 101 | properly support the DMA addressing limitation your device has. It is | ||
| 102 | good style to do this even if your device holds the default setting, | ||
| 103 | because this shows that you did think about these issues wrt. your | 101 | because this shows that you did think about these issues wrt. your |
| 104 | device. | 102 | device. |
| 105 | 103 | ||
| 106 | The query is performed via a call to pci_set_dma_mask(): | 104 | The query is performed via a call to dma_set_mask(): |
| 107 | 105 | ||
| 108 | int pci_set_dma_mask(struct pci_dev *pdev, u64 device_mask); | 106 | int dma_set_mask(struct device *dev, u64 mask); |
| 109 | 107 | ||
| 110 | The query for consistent allocations is performed via a call to | 108 | The query for consistent allocations is performed via a call to |
| 111 | pci_set_consistent_dma_mask(): | 109 | dma_set_coherent_mask(): |
| 112 | 110 | ||
| 113 | int pci_set_consistent_dma_mask(struct pci_dev *pdev, u64 device_mask); | 111 | int dma_set_coherent_mask(struct device *dev, u64 mask); |
| 114 | 112 | ||
| 115 | Here, pdev is a pointer to the PCI device struct of your device, and | 113 | Here, dev is a pointer to the device struct of your device, and mask |
| 116 | device_mask is a bit mask describing which bits of a PCI address your | 114 | is a bit mask describing which bits of an address your device |
| 117 | device supports. It returns zero if your card can perform DMA | 115 | supports. It returns zero if your card can perform DMA properly on |
| 118 | properly on the machine given the address mask you provided. | 116 | the machine given the address mask you provided. In general, the |
| 117 | device struct of your device is embedded in the bus specific device | ||
| 118 | struct of your device. For example, a pointer to the device struct of | ||
| 119 | your PCI device is pdev->dev (pdev is a pointer to the PCI device | ||
| 120 | struct of your device). | ||
| 119 | 121 | ||
| 120 | If it returns non-zero, your device cannot perform DMA properly on | 122 | If it returns non-zero, your device cannot perform DMA properly on |
| 121 | this platform, and attempting to do so will result in undefined | 123 | this platform, and attempting to do so will result in undefined |
| @@ -133,31 +135,30 @@ of your driver reports that performance is bad or that the device is not · 11 unmodified lines | |||
| 133 | even detected, you can ask them for the kernel messages to find out | 135 | even detected, you can ask them for the kernel messages to find out |
| 134 | exactly why. | 136 | exactly why. |
| 135 | 137 | ||
| 136 | The standard 32-bit addressing PCI device would do something like | 138 | The standard 32-bit addressing device would do something like this: |
| 137 | this: | ||
| 138 | 139 | ||
| 139 | if (pci_set_dma_mask(pdev, DMA_BIT_MASK(32))) { | 140 | if (dma_set_mask(dev, DMA_BIT_MASK(32))) { |
| 140 | printk(KERN_WARNING | 141 | printk(KERN_WARNING |
| 141 | "mydev: No suitable DMA available.\n"); | 142 | "mydev: No suitable DMA available.\n"); |
| 142 | goto ignore_this_device; | 143 | goto ignore_this_device; |
| 143 | } | 144 | } |
| 144 | 145 | ||
| 145 | Another common scenario is a 64-bit capable device. The approach | 146 | Another common scenario is a 64-bit capable device. The approach here |
| 146 | here is to try for 64-bit DAC addressing, but back down to a | 147 | is to try for 64-bit addressing, but back down to a 32-bit mask that |
| 147 | 32-bit mask should that fail. The PCI platform code may fail the | 148 | should not fail. The kernel may fail the 64-bit mask not because the |
| 148 | 64-bit mask not because the platform is not capable of 64-bit | 149 | platform is not capable of 64-bit addressing. Rather, it may fail in |
| 149 | addressing. Rather, it may fail in this case simply because | 150 | this case simply because 32-bit addressing is done more efficiently |
| 150 | 32-bit SAC addressing is done more efficiently than DAC addressing. | 151 | than 64-bit addressing. For example, Sparc64 PCI SAC addressing is |
| 151 | Sparc64 is one platform which behaves in this way. | 152 | more efficient than DAC addressing. |
| 152 | 153 | ||
| 153 | Here is how you would handle a 64-bit capable device which can drive | 154 | Here is how you would handle a 64-bit capable device which can drive |
| 154 | all 64-bits when accessing streaming DMA: | 155 | all 64-bits when accessing streaming DMA: |
| 155 | 156 | ||
| 156 | int using_dac; | 157 | int using_dac; |
| 157 | 158 | ||
| 158 | if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(64))) { | 159 | if (!dma_set_mask(dev, DMA_BIT_MASK(64))) { |
| 159 | using_dac = 1; | 160 | using_dac = 1; |
| 160 | } else if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(32))) { | 161 | } else if (!dma_set_mask(dev, DMA_BIT_MASK(32))) { |
| 161 | using_dac = 0; | 162 | using_dac = 0; |
| 162 | } else { | 163 | } else { |
| 163 | printk(KERN_WARNING | 164 | printk(KERN_WARNING |
| @@ -170,36 +171,36 @@ the case would look like this: · 6 unmodified lines | |||
| 170 | 171 | ||
| 171 | int using_dac, consistent_using_dac; | 172 | int using_dac, consistent_using_dac; |
| 172 | 173 | ||
| 173 | if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(64))) { | 174 | if (!dma_set_mask(dev, DMA_BIT_MASK(64))) { |
| 174 | using_dac = 1; | 175 | using_dac = 1; |
| 175 | consistent_using_dac = 1; | 176 | consistent_using_dac = 1; |
| 176 | pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64)); | 177 | dma_set_coherent_mask(dev, DMA_BIT_MASK(64)); |
| 177 | } else if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(32))) { | 178 | } else if (!dma_set_mask(dev, DMA_BIT_MASK(32))) { |
| 178 | using_dac = 0; | 179 | using_dac = 0; |
| 179 | consistent_using_dac = 0; | 180 | consistent_using_dac = 0; |
| 180 | pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32)); | 181 | dma_set_coherent_mask(dev, DMA_BIT_MASK(32)); |
| 181 | } else { | 182 | } else { |
| 182 | printk(KERN_WARNING | 183 | printk(KERN_WARNING |
| 183 | "mydev: No suitable DMA available.\n"); | 184 | "mydev: No suitable DMA available.\n"); |
| 184 | goto ignore_this_device; | 185 | goto ignore_this_device; |
| 185 | } | 186 | } |
| 186 | 187 | ||
| 187 | pci_set_consistent_dma_mask() will always be able to set the same or a | 188 | dma_set_coherent_mask() will always be able to set the same or a |
| 188 | smaller mask as pci_set_dma_mask(). However for the rare case that a | 189 | smaller mask as dma_set_mask(). However for the rare case that a |
| 189 | device driver only uses consistent allocations, one would have to | 190 | device driver only uses consistent allocations, one would have to |
| 190 | check the return value from pci_set_consistent_dma_mask(). | 191 | check the return value from dma_set_coherent_mask(). |
| 191 | 192 | ||
| 192 | Finally, if your device can only drive the low 24-bits of | 193 | Finally, if your device can only drive the low 24-bits of |
| 193 | address during PCI bus mastering you might do something like: | 194 | address you might do something like: |
| 194 | 195 | ||
| 195 | if (pci_set_dma_mask(pdev, DMA_BIT_MASK(24))) { | 196 | if (dma_set_mask(dev, DMA_BIT_MASK(24))) { |
| 196 | printk(KERN_WARNING | 197 | printk(KERN_WARNING |
| 197 | "mydev: 24-bit DMA addressing not available.\n"); | 198 | "mydev: 24-bit DMA addressing not available.\n"); |
| 198 | goto ignore_this_device; | 199 | goto ignore_this_device; |
| 199 | } | 200 | } |
| 200 | 201 | ||
| 201 | When pci_set_dma_mask() is successful, and returns zero, the PCI layer | 202 | When dma_set_mask() is successful, and returns zero, the kernel saves |
| 202 | saves away this mask you have provided. The PCI layer will use this | 203 | away this mask you have provided. The kernel will use this |
| 203 | information later when you make DMA mappings. | 204 | information later when you make DMA mappings. |
| 204 | 205 | ||
| 205 | There is a case which we are aware of at this time, which is worth | 206 | There is a case which we are aware of at this time, which is worth |
| @@ -208,7 +209,7 @@ functions (for example a sound card provides playback and record · 2 unmodified lines | |||
| 208 | functions) and the various different functions have _different_ | 209 | functions) and the various different functions have _different_ |
| 209 | DMA addressing limitations, you may wish to probe each mask and | 210 | DMA addressing limitations, you may wish to probe each mask and |
| 210 | only provide the functionality which the machine can handle. It | 211 | only provide the functionality which the machine can handle. It |
| 211 | is important that the last call to pci_set_dma_mask() be for the | 212 | is important that the last call to dma_set_mask() be for the |
| 212 | most specific mask. | 213 | most specific mask. |
| 213 | 214 | ||
| 214 | Here is pseudo-code showing how this might be done: | 215 | Here is pseudo-code showing how this might be done: |
| @@ -217,17 +218,17 @@ Here is pseudo-code showing how this might be done: · 2 unmodified lines | |||
| 217 | #define RECORD_ADDRESS_BITS DMA_BIT_MASK(24) | 218 | #define RECORD_ADDRESS_BITS DMA_BIT_MASK(24) |
| 218 | 219 | ||
| 219 | struct my_sound_card *card; | 220 | struct my_sound_card *card; |
| 220 | struct pci_dev *pdev; | 221 | struct device *dev; |
| 221 | 222 | ||
| 222 | ... | 223 | ... |
| 223 | if (!pci_set_dma_mask(pdev, PLAYBACK_ADDRESS_BITS)) { | 224 | if (!dma_set_mask(dev, PLAYBACK_ADDRESS_BITS)) { |
| 224 | card->playback_enabled = 1; | 225 | card->playback_enabled = 1; |
| 225 | } else { | 226 | } else { |
| 226 | card->playback_enabled = 0; | 227 | card->playback_enabled = 0; |
| 227 | printk(KERN_WARNING "%s: Playback disabled due to DMA limitations.\n", | 228 | printk(KERN_WARNING "%s: Playback disabled due to DMA limitations.\n", |
| 228 | card->name); | 229 | card->name); |
| 229 | } | 230 | } |
| 230 | if (!pci_set_dma_mask(pdev, RECORD_ADDRESS_BITS)) { | 231 | if (!dma_set_mask(dev, RECORD_ADDRESS_BITS)) { |
| 231 | card->record_enabled = 1; | 232 | card->record_enabled = 1; |
| 232 | } else { | 233 | } else { |
| 233 | card->record_enabled = 0; | 234 | card->record_enabled = 0; |
| @@ -252,8 +253,8 @@ There are two types of DMA mappings: · 18 unmodified lines | |||
| 252 | Think of "consistent" as "synchronous" or "coherent". | 253 | Think of "consistent" as "synchronous" or "coherent". |
| 253 | 254 | ||
| 254 | The current default is to return consistent memory in the low 32 | 255 | The current default is to return consistent memory in the low 32 |
| 255 | bits of the PCI bus space. However, for future compatibility you | 256 | bits of the bus space. However, for future compatibility you should |
| 256 | should set the consistent mask even if this default is fine for your | 257 | set the consistent mask even if this default is fine for your |
| 257 | driver. | 258 | driver. |
| 258 | 259 | ||
| 259 | Good examples of what to use consistent mappings for are: | 260 | Good examples of what to use consistent mappings for are: |
| @@ -285,9 +286,9 @@ There are two types of DMA mappings: · 25 unmodified lines | |||
| 285 | found in PCI bridges (such as by reading a register's value | 286 | found in PCI bridges (such as by reading a register's value |
| 286 | after writing it). | 287 | after writing it). |
| 287 | 288 | ||
| 288 | - Streaming DMA mappings which are usually mapped for one DMA transfer, | 289 | - Streaming DMA mappings which are usually mapped for one DMA |
| 289 | unmapped right after it (unless you use pci_dma_sync_* below) and for which | 290 | transfer, unmapped right after it (unless you use dma_sync_* below) |
| 290 | hardware can optimize for sequential accesses. | 291 | and for which hardware can optimize for sequential accesses. |
| 291 | 292 | ||
| 292 | This of "streaming" as "asynchronous" or "outside the coherency | 293 | This of "streaming" as "asynchronous" or "outside the coherency |
| 293 | domain". | 294 | domain". |
| @@ -302,8 +303,8 @@ There are two types of DMA mappings: · 8 unmodified lines | |||
| 302 | optimizations the hardware allows. To this end, when using | 303 | optimizations the hardware allows. To this end, when using |
| 303 | such mappings you must be explicit about what you want to happen. | 304 | such mappings you must be explicit about what you want to happen. |
| 304 | 305 | ||
| 305 | Neither type of DMA mapping has alignment restrictions that come | 306 | Neither type of DMA mapping has alignment restrictions that come from |
| 306 | from PCI, although some devices may have such restrictions. | 307 | the underlying bus, although some devices may have such restrictions. |
| 307 | Also, systems with caches that aren't DMA-coherent will work better | 308 | Also, systems with caches that aren't DMA-coherent will work better |
| 308 | when the underlying buffers don't share cache lines with other data. | 309 | when the underlying buffers don't share cache lines with other data. |
| 309 | 310 | ||
| @@ -315,33 +316,27 @@ you should do: · 5 unmodified lines | |||
| 315 | 316 | ||
| 316 | dma_addr_t dma_handle; | 317 | dma_addr_t dma_handle; |
| 317 | 318 | ||
| 318 | cpu_addr = pci_alloc_consistent(pdev, size, &dma_handle); | 319 | cpu_addr = dma_alloc_coherent(dev, size, &dma_handle, gfp); |
| 319 | |||
| 320 | where pdev is a struct pci_dev *. This may be called in interrupt context. | ||
| 321 | You should use dma_alloc_coherent (see DMA-API.txt) for buses | ||
| 322 | where devices don't have struct pci_dev (like ISA, EISA). | ||
| 323 | 320 | ||
| 324 | This argument is needed because the DMA translations may be bus | 321 | where device is a struct device *. This may be called in interrupt |
| 325 | specific (and often is private to the bus which the device is attached | 322 | context with the GFP_ATOMIC flag. |
| 326 | to). | ||
| 327 | 323 | ||
| 328 | Size is the length of the region you want to allocate, in bytes. | 324 | Size is the length of the region you want to allocate, in bytes. |
| 329 | 325 | ||
| 330 | This routine will allocate RAM for that region, so it acts similarly to | 326 | This routine will allocate RAM for that region, so it acts similarly to |
| 331 | __get_free_pages (but takes size instead of a page order). If your | 327 | __get_free_pages (but takes size instead of a page order). If your |
| 332 | driver needs regions sized smaller than a page, you may prefer using | 328 | driver needs regions sized smaller than a page, you may prefer using |
| 333 | the pci_pool interface, described below. | 329 | the dma_pool interface, described below. |
| 334 | 330 | ||
| 335 | The consistent DMA mapping interfaces, for non-NULL pdev, will by | 331 | The consistent DMA mapping interfaces, for non-NULL dev, will by |
| 336 | default return a DMA address which is SAC (Single Address Cycle) | 332 | default return a DMA address which is 32-bit addressable. Even if the |
| 337 | addressable. Even if the device indicates (via PCI dma mask) that it | 333 | device indicates (via DMA mask) that it may address the upper 32-bits, |
| 338 | may address the upper 32-bits and thus perform DAC cycles, consistent | 334 | consistent allocation will only return > 32-bit addresses for DMA if |
| 339 | allocation will only return > 32-bit PCI addresses for DMA if the | 335 | the consistent DMA mask has been explicitly changed via |
| 340 | consistent dma mask has been explicitly changed via | 336 | dma_set_coherent_mask(). This is true of the dma_pool interface as |
| 341 | pci_set_consistent_dma_mask(). This is true of the pci_pool interface | 337 | well. |
| 342 | as well. | 338 | |
| 343 | 339 | dma_alloc_coherent returns two values: the virtual address which you | |
| 344 | pci_alloc_consistent returns two values: the virtual address which you | ||
| 345 | can use to access it from the CPU and dma_handle which you pass to the | 340 | can use to access it from the CPU and dma_handle which you pass to the |
| 346 | card. | 341 | card. |
| 347 | 342 | ||
| @@ -354,54 +349,54 @@ buffer you receive will not cross a 64K boundary. · 6 unmodified lines | |||
| 354 | 349 | ||
| 355 | To unmap and free such a DMA region, you call: | 350 | To unmap and free such a DMA region, you call: |
| 356 | 351 | ||
| 357 | pci_free_consistent(pdev, size, cpu_addr, dma_handle); | 352 | dma_free_coherent(dev, size, cpu_addr, dma_handle); |
| 358 | 353 | ||
| 359 | where pdev, size are the same as in the above call and cpu_addr and | 354 | where dev, size are the same as in the above call and cpu_addr and |
| 360 | dma_handle are the values pci_alloc_consistent returned to you. | 355 | dma_handle are the values dma_alloc_coherent returned to you. |
| 361 | This function may not be called in interrupt context. | 356 | This function may not be called in interrupt context. |
| 362 | 357 | ||
| 363 | If your driver needs lots of smaller memory regions, you can write | 358 | If your driver needs lots of smaller memory regions, you can write |
| 364 | custom code to subdivide pages returned by pci_alloc_consistent, | 359 | custom code to subdivide pages returned by dma_alloc_coherent, |
| 365 | or you can use the pci_pool API to do that. A pci_pool is like | 360 | or you can use the dma_pool API to do that. A dma_pool is like |
| 366 | a kmem_cache, but it uses pci_alloc_consistent not __get_free_pages. | 361 | a kmem_cache, but it uses dma_alloc_coherent not __get_free_pages. |
| 367 | Also, it understands common hardware constraints for alignment, | 362 | Also, it understands common hardware constraints for alignment, |
| 368 | like queue heads needing to be aligned on N byte boundaries. | 363 | like queue heads needing to be aligned on N byte boundaries. |
| 369 | 364 | ||
| 370 | Create a pci_pool like this: | 365 | Create a dma_pool like this: |
| 371 | 366 | ||
| 372 | struct pci_pool *pool; | 367 | struct dma_pool *pool; |
| 373 | 368 | ||
| 374 | pool = pci_pool_create(name, pdev, size, align, alloc); | 369 | pool = dma_pool_create(name, dev, size, align, alloc); |
| 375 | 370 | ||
| 376 | The "name" is for diagnostics (like a kmem_cache name); pdev and size | 371 | The "name" is for diagnostics (like a kmem_cache name); dev and size |
| 377 | are as above. The device's hardware alignment requirement for this | 372 | are as above. The device's hardware alignment requirement for this |
| 378 | type of data is "align" (which is expressed in bytes, and must be a | 373 | type of data is "align" (which is expressed in bytes, and must be a |
| 379 | power of two). If your device has no boundary crossing restrictions, | 374 | power of two). If your device has no boundary crossing restrictions, |
| 380 | pass 0 for alloc; passing 4096 says memory allocated from this pool | 375 | pass 0 for alloc; passing 4096 says memory allocated from this pool |
| 381 | must not cross 4KByte boundaries (but at that time it may be better to | 376 | must not cross 4KByte boundaries (but at that time it may be better to |
| 382 | go for pci_alloc_consistent directly instead). | 377 | go for dma_alloc_coherent directly instead). |
| 383 | 378 | ||
| 384 | Allocate memory from a pci pool like this: | 379 | Allocate memory from a dma pool like this: |
| 385 | 380 | ||
| 386 | cpu_addr = pci_pool_alloc(pool, flags, &dma_handle); | 381 | cpu_addr = dma_pool_alloc(pool, flags, &dma_handle); |
| 387 | 382 | ||
| 388 | flags are SLAB_KERNEL if blocking is permitted (not in_interrupt nor | 383 | flags are SLAB_KERNEL if blocking is permitted (not in_interrupt nor |
| 389 | holding SMP locks), SLAB_ATOMIC otherwise. Like pci_alloc_consistent, | 384 | holding SMP locks), SLAB_ATOMIC otherwise. Like dma_alloc_coherent, |
| 390 | this returns two values, cpu_addr and dma_handle. | 385 | this returns two values, cpu_addr and dma_handle. |
| 391 | 386 | ||
| 392 | Free memory that was allocated from a pci_pool like this: | 387 | Free memory that was allocated from a dma_pool like this: |
| 393 | 388 | ||
| 394 | pci_pool_free(pool, cpu_addr, dma_handle); | 389 | dma_pool_free(pool, cpu_addr, dma_handle); |
| 395 | 390 | ||
| 396 | where pool is what you passed to pci_pool_alloc, and cpu_addr and | 391 | where pool is what you passed to dma_pool_alloc, and cpu_addr and |
| 397 | dma_handle are the values pci_pool_alloc returned. This function | 392 | dma_handle are the values dma_pool_alloc returned. This function |
| 398 | may be called in interrupt context. | 393 | may be called in interrupt context. |
| 399 | 394 | ||
| 400 | Destroy a pci_pool by calling: | 395 | Destroy a dma_pool by calling: |
| 401 | 396 | ||
| 402 | pci_pool_destroy(pool); | 397 | dma_pool_destroy(pool); |
| 403 | 398 | ||
| 404 | Make sure you've called pci_pool_free for all memory allocated | 399 | Make sure you've called dma_pool_free for all memory allocated |
| 405 | from a pool before you destroy the pool. This function may not | 400 | from a pool before you destroy the pool. This function may not |
| 406 | be called in interrupt context. | 401 | be called in interrupt context. |
| 407 | 402 | ||
| @@ -411,15 +406,15 @@ The interfaces described in subsequent portions of this document · 3 unmodified lines | |||
| 411 | take a DMA direction argument, which is an integer and takes on | 406 | take a DMA direction argument, which is an integer and takes on |
| 412 | one of the following values: | 407 | one of the following values: |
| 413 | 408 | ||
| 414 | PCI_DMA_BIDIRECTIONAL | 409 | DMA_BIDIRECTIONAL |
| 415 | PCI_DMA_TODEVICE | 410 | DMA_TO_DEVICE |
| 416 | PCI_DMA_FROMDEVICE | 411 | DMA_FROM_DEVICE |
| 417 | PCI_DMA_NONE | 412 | DMA_NONE |
| 418 | 413 | ||
| 419 | One should provide the exact DMA direction if you know it. | 414 | One should provide the exact DMA direction if you know it. |
| 420 | 415 | ||
| 421 | PCI_DMA_TODEVICE means "from main memory to the PCI device" | 416 | DMA_TO_DEVICE means "from main memory to the device" |
| 422 | PCI_DMA_FROMDEVICE means "from the PCI device to main memory" | 417 | DMA_FROM_DEVICE means "from the device to main memory" |
| 423 | It is the direction in which the data moves during the DMA | 418 | It is the direction in which the data moves during the DMA |
| 424 | transfer. | 419 | transfer. |
| 425 | 420 | ||
| @@ -427,12 +422,12 @@ You are _strongly_ encouraged to specify this as precisely · 1 unmodified line | |||
| 427 | as you possibly can. | 422 | as you possibly can. |
| 428 | 423 | ||
| 429 | If you absolutely cannot know the direction of the DMA transfer, | 424 | If you absolutely cannot know the direction of the DMA transfer, |
| 430 | specify PCI_DMA_BIDIRECTIONAL. It means that the DMA can go in | 425 | specify DMA_BIDIRECTIONAL. It means that the DMA can go in |
| 431 | either direction. The platform guarantees that you may legally | 426 | either direction. The platform guarantees that you may legally |
| 432 | specify this, and that it will work, but this may be at the | 427 | specify this, and that it will work, but this may be at the |
| 433 | cost of performance for example. | 428 | cost of performance for example. |
| 434 | 429 | ||
| 435 | The value PCI_DMA_NONE is to be used for debugging. One can | 430 | The value DMA_NONE is to be used for debugging. One can |
| 436 | hold this in a data structure before you come to know the | 431 | hold this in a data structure before you come to know the |
| 437 | precise direction, and this will help catch cases where your | 432 | precise direction, and this will help catch cases where your |
| 438 | direction tracking logic has failed to set things up properly. | 433 | direction tracking logic has failed to set things up properly. |
| @@ -442,21 +437,21 @@ potential platform-specific optimizations of such) is for debugging. · 3 unmodified lines | |||
| 442 | Some platforms actually have a write permission boolean which DMA | 437 | Some platforms actually have a write permission boolean which DMA |
| 443 | mappings can be marked with, much like page protections in the user | 438 | mappings can be marked with, much like page protections in the user |
| 444 | program address space. Such platforms can and do report errors in the | 439 | program address space. Such platforms can and do report errors in the |
| 445 | kernel logs when the PCI controller hardware detects violation of the | 440 | kernel logs when the DMA controller hardware detects violation of the |
| 446 | permission setting. | 441 | permission setting. |
| 447 | 442 | ||
| 448 | Only streaming mappings specify a direction, consistent mappings | 443 | Only streaming mappings specify a direction, consistent mappings |
| 449 | implicitly have a direction attribute setting of | 444 | implicitly have a direction attribute setting of |
| 450 | PCI_DMA_BIDIRECTIONAL. | 445 | DMA_BIDIRECTIONAL. |
| 451 | 446 | ||
| 452 | The SCSI subsystem tells you the direction to use in the | 447 | The SCSI subsystem tells you the direction to use in the |
| 453 | 'sc_data_direction' member of the SCSI command your driver is | 448 | 'sc_data_direction' member of the SCSI command your driver is |
| 454 | working on. | 449 | working on. |
| 455 | 450 | ||
| 456 | For Networking drivers, it's a rather simple affair. For transmit | 451 | For Networking drivers, it's a rather simple affair. For transmit |
| 457 | packets, map/unmap them with the PCI_DMA_TODEVICE direction | 452 | packets, map/unmap them with the DMA_TO_DEVICE direction |
| 458 | specifier. For receive packets, just the opposite, map/unmap them | 453 | specifier. For receive packets, just the opposite, map/unmap them |
| 459 | with the PCI_DMA_FROMDEVICE direction specifier. | 454 | with the DMA_FROM_DEVICE direction specifier. |
| 460 | 455 | ||
| 461 | Using Streaming DMA mappings | 456 | Using Streaming DMA mappings |
| 462 | 457 | ||
| @@ -467,43 +462,43 @@ scatterlist. · 4 unmodified lines | |||
| 467 | 462 | ||
| 468 | To map a single region, you do: | 463 | To map a single region, you do: |
| 469 | 464 | ||
| 470 | struct pci_dev *pdev = mydev->pdev; | 465 | struct device *dev = &my_dev->dev; |
| 471 | dma_addr_t dma_handle; | 466 | dma_addr_t dma_handle; |
| 472 | void *addr = buffer->ptr; | 467 | void *addr = buffer->ptr; |
| 473 | size_t size = buffer->len; | 468 | size_t size = buffer->len; |
| 474 | 469 | ||
| 475 | dma_handle = pci_map_single(pdev, addr, size, direction); | 470 | dma_handle = dma_map_single(dev, addr, size, direction); |
| 476 | 471 | ||
| 477 | and to unmap it: | 472 | and to unmap it: |
| 478 | 473 | ||
| 479 | pci_unmap_single(pdev, dma_handle, size, direction); | 474 | dma_unmap_single(dev, dma_handle, size, direction); |
| 480 | 475 | ||
| 481 | You should call pci_unmap_single when the DMA activity is finished, e.g. | 476 | You should call dma_unmap_single when the DMA activity is finished, e.g. |
| 482 | from the interrupt which told you that the DMA transfer is done. | 477 | from the interrupt which told you that the DMA transfer is done. |
| 483 | 478 | ||
| 484 | Using cpu pointers like this for single mappings has a disadvantage, | 479 | Using cpu pointers like this for single mappings has a disadvantage, |
| 485 | you cannot reference HIGHMEM memory in this way. Thus, there is a | 480 | you cannot reference HIGHMEM memory in this way. Thus, there is a |
| 486 | map/unmap interface pair akin to pci_{map,unmap}_single. These | 481 | map/unmap interface pair akin to dma_{map,unmap}_single. These |
| 487 | interfaces deal with page/offset pairs instead of cpu pointers. | 482 | interfaces deal with page/offset pairs instead of cpu pointers. |
| 488 | Specifically: | 483 | Specifically: |
| 489 | 484 | ||
| 490 | struct pci_dev *pdev = mydev->pdev; | 485 | struct device *dev = &my_dev->dev; |
| 491 | dma_addr_t dma_handle; | 486 | dma_addr_t dma_handle; |
| 492 | struct page *page = buffer->page; | 487 | struct page *page = buffer->page; |
| 493 | unsigned long offset = buffer->offset; | 488 | unsigned long offset = buffer->offset; |
| 494 | size_t size = buffer->len; | 489 | size_t size = buffer->len; |
| 495 | 490 | ||
| 496 | dma_handle = pci_map_page(pdev, page, offset, size, direction); | 491 | dma_handle = dma_map_page(dev, page, offset, size, direction); |
| 497 | 492 | ||
| 498 | ... | 493 | ... |
| 499 | 494 | ||
| 500 | pci_unmap_page(pdev, dma_handle, size, direction); | 495 | dma_unmap_page(dev, dma_handle, size, direction); |
| 501 | 496 | ||
| 502 | Here, "offset" means byte offset within the given page. | 497 | Here, "offset" means byte offset within the given page. |
| 503 | 498 | ||
| 504 | With scatterlists, you map a region gathered from several regions by: | 499 | With scatterlists, you map a region gathered from several regions by: |
| 505 | 500 | ||
| 506 | int i, count = pci_map_sg(pdev, sglist, nents, direction); | 501 | int i, count = dma_map_sg(dev, sglist, nents, direction); |
| 507 | struct scatterlist *sg; | 502 | struct scatterlist *sg; |
| 508 | 503 | ||
| 509 | for_each_sg(sglist, sg, count, i) { | 504 | for_each_sg(sglist, sg, count, i) { |
| @@ -527,16 +522,16 @@ accessed sg->address and sg->length as shown above. · 17 unmodified lines | |||
| 527 | 522 | ||
| 528 | To unmap a scatterlist, just call: | 523 | To unmap a scatterlist, just call: |
| 529 | 524 | ||
| 530 | pci_unmap_sg(pdev, sglist, nents, direction); | 525 | dma_unmap_sg(dev, sglist, nents, direction); |
| 531 | 526 | ||
| 532 | Again, make sure DMA activity has already finished. | 527 | Again, make sure DMA activity has already finished. |
| 533 | 528 | ||
| 534 | PLEASE NOTE: The 'nents' argument to the pci_unmap_sg call must be | 529 | PLEASE NOTE: The 'nents' argument to the dma_unmap_sg call must be |
| 535 | the _same_ one you passed into the pci_map_sg call, | 530 | the _same_ one you passed into the dma_map_sg call, |
| 536 | it should _NOT_ be the 'count' value _returned_ from the | 531 | it should _NOT_ be the 'count' value _returned_ from the |
| 537 | pci_map_sg call. | 532 | dma_map_sg call. |
| 538 | 533 | ||
| 539 | Every pci_map_{single,sg} call should have its pci_unmap_{single,sg} | 534 | Every dma_map_{single,sg} call should have its dma_unmap_{single,sg} |
| 540 | counterpart, because the bus address space is a shared resource (although | 535 | counterpart, because the bus address space is a shared resource (although |
| 541 | in some ports the mapping is per each BUS so less devices contend for the | 536 | in some ports the mapping is per each BUS so less devices contend for the |
| 542 | same bus address space) and you could render the machine unusable by eating | 537 | same bus address space) and you could render the machine unusable by eating |
| @@ -547,14 +542,14 @@ the data in between the DMA transfers, the buffer needs to be synced · 4 unmodified lines | |||
| 547 | properly in order for the cpu and device to see the most uptodate and | 542 | properly in order for the cpu and device to see the most uptodate and |
| 548 | correct copy of the DMA buffer. | 543 | correct copy of the DMA buffer. |
| 549 | 544 | ||
| 550 | So, firstly, just map it with pci_map_{single,sg}, and after each DMA | 545 | So, firstly, just map it with dma_map_{single,sg}, and after each DMA |
| 551 | transfer call either: | 546 | transfer call either: |
| 552 | 547 | ||
| 553 | pci_dma_sync_single_for_cpu(pdev, dma_handle, size, direction); | 548 | dma_sync_single_for_cpu(dev, dma_handle, size, direction); |
| 554 | 549 | ||
| 555 | or: | 550 | or: |
| 556 | 551 | ||
| 557 | pci_dma_sync_sg_for_cpu(pdev, sglist, nents, direction); | 552 | dma_sync_sg_for_cpu(dev, sglist, nents, direction); |
| 558 | 553 | ||
| 559 | as appropriate. | 554 | as appropriate. |
| 560 | 555 | ||
| @@ -562,27 +557,27 @@ Then, if you wish to let the device get at the DMA area again, · 1 unmodified line | |||
| 562 | finish accessing the data with the cpu, and then before actually | 557 | finish accessing the data with the cpu, and then before actually |
| 563 | giving the buffer to the hardware call either: | 558 | giving the buffer to the hardware call either: |
| 564 | 559 | ||
| 565 | pci_dma_sync_single_for_device(pdev, dma_handle, size, direction); | 560 | dma_sync_single_for_device(dev, dma_handle, size, direction); |
| 566 | 561 | ||
| 567 | or: | 562 | or: |
| 568 | 563 | ||
| 569 | pci_dma_sync_sg_for_device(dev, sglist, nents, direction); | 564 | dma_sync_sg_for_device(dev, sglist, nents, direction); |
| 570 | 565 | ||
| 571 | as appropriate. | 566 | as appropriate. |
| 572 | 567 | ||
| 573 | After the last DMA transfer call one of the DMA unmap routines | 568 | After the last DMA transfer call one of the DMA unmap routines |
| 574 | pci_unmap_{single,sg}. If you don't touch the data from the first pci_map_* | 569 | dma_unmap_{single,sg}. If you don't touch the data from the first dma_map_* |
| 575 | call till pci_unmap_*, then you don't have to call the pci_dma_sync_* | 570 | call till dma_unmap_*, then you don't have to call the dma_sync_* |
| 576 | routines at all. | 571 | routines at all. |
| 577 | 572 | ||
| 578 | Here is pseudo code which shows a situation in which you would need | 573 | Here is pseudo code which shows a situation in which you would need |
| 579 | to use the pci_dma_sync_*() interfaces. | 574 | to use the dma_sync_*() interfaces. |
| 580 | 575 | ||
| 581 | my_card_setup_receive_buffer(struct my_card *cp, char *buffer, int len) | 576 | my_card_setup_receive_buffer(struct my_card *cp, char *buffer, int len) |
| 582 | { | 577 | { |
| 583 | dma_addr_t mapping; | 578 | dma_addr_t mapping; |
| 584 | 579 | ||
| 585 | mapping = pci_map_single(cp->pdev, buffer, len, PCI_DMA_FROMDEVICE); | 580 | mapping = dma_map_single(cp->dev, buffer, len, DMA_FROM_DEVICE); |
| 586 | 581 | ||
| 587 | cp->rx_buf = buffer; | 582 | cp->rx_buf = buffer; |
| 588 | cp->rx_len = len; | 583 | cp->rx_len = len; |
| @@ -606,25 +601,25 @@ to use the pci_dma_sync_*() interfaces. · 17 unmodified lines | |||
| 606 | * the DMA transfer with the CPU first | 601 | * the DMA transfer with the CPU first |
| 607 | * so that we see updated contents. | 602 | * so that we see updated contents. |
| 608 | */ | 603 | */ |
| 609 | pci_dma_sync_single_for_cpu(cp->pdev, cp->rx_dma, | 604 | dma_sync_single_for_cpu(&cp->dev, cp->rx_dma, |
| 610 | cp->rx_len, | 605 | cp->rx_len, |
| 611 | PCI_DMA_FROMDEVICE); | 606 | DMA_FROM_DEVICE); |
| 612 | 607 | ||
| 613 | /* Now it is safe to examine the buffer. */ | 608 | /* Now it is safe to examine the buffer. */ |
| 614 | hp = (struct my_card_header *) cp->rx_buf; | 609 | hp = (struct my_card_header *) cp->rx_buf; |
| 615 | if (header_is_ok(hp)) { | 610 | if (header_is_ok(hp)) { |
| 616 | pci_unmap_single(cp->pdev, cp->rx_dma, cp->rx_len, | 611 | dma_unmap_single(&cp->dev, cp->rx_dma, cp->rx_len, |
| 617 | PCI_DMA_FROMDEVICE); | 612 | DMA_FROM_DEVICE); |
| 618 | pass_to_upper_layers(cp->rx_buf); | 613 | pass_to_upper_layers(cp->rx_buf); |
| 619 | make_and_setup_new_rx_buf(cp); | 614 | make_and_setup_new_rx_buf(cp); |
| 620 | } else { | 615 | } else { |
| 621 | /* Just sync the buffer and give it back | 616 | /* Just sync the buffer and give it back |
| 622 | * to the card. | 617 | * to the card. |
| 623 | */ | 618 | */ |
| 624 | pci_dma_sync_single_for_device(cp->pdev, | 619 | dma_sync_single_for_device(&cp->dev, |
| 625 | cp->rx_dma, | 620 | cp->rx_dma, |
| 626 | cp->rx_len, | 621 | cp->rx_len, |
| 627 | PCI_DMA_FROMDEVICE); | 622 | DMA_FROM_DEVICE); |
| 628 | give_rx_buf_to_card(cp); | 623 | give_rx_buf_to_card(cp); |
| 629 | } | 624 | } |
| 630 | } | 625 | } |
| @@ -634,19 +629,19 @@ Drivers converted fully to this interface should not use virt_to_bus any · 3 unmodified lines | |||
| 634 | longer, nor should they use bus_to_virt. Some drivers have to be changed a | 629 | longer, nor should they use bus_to_virt. Some drivers have to be changed a |
| 635 | little bit, because there is no longer an equivalent to bus_to_virt in the | 630 | little bit, because there is no longer an equivalent to bus_to_virt in the |
| 636 | dynamic DMA mapping scheme - you have to always store the DMA addresses | 631 | dynamic DMA mapping scheme - you have to always store the DMA addresses |
| 637 | returned by the pci_alloc_consistent, pci_pool_alloc, and pci_map_single | 632 | returned by the dma_alloc_coherent, dma_pool_alloc, and dma_map_single |
| 638 | calls (pci_map_sg stores them in the scatterlist itself if the platform | 633 | calls (dma_map_sg stores them in the scatterlist itself if the platform |
| 639 | supports dynamic DMA mapping in hardware) in your driver structures and/or | 634 | supports dynamic DMA mapping in hardware) in your driver structures and/or |
| 640 | in the card registers. | 635 | in the card registers. |
| 641 | 636 | ||
| 642 | All PCI drivers should be using these interfaces with no exceptions. | 637 | All drivers should be using these interfaces with no exceptions. It |
| 643 | It is planned to completely remove virt_to_bus() and bus_to_virt() as | 638 | is planned to completely remove virt_to_bus() and bus_to_virt() as |
| 644 | they are entirely deprecated. Some ports already do not provide these | 639 | they are entirely deprecated. Some ports already do not provide these |
| 645 | as it is impossible to correctly support them. | 640 | as it is impossible to correctly support them. |
| 646 | 641 | ||
| 647 | Optimizing Unmap State Space Consumption | 642 | Optimizing Unmap State Space Consumption |
| 648 | 643 | ||
| 649 | On many platforms, pci_unmap_{single,page}() is simply a nop. | 644 | On many platforms, dma_unmap_{single,page}() is simply a nop. |
| 650 | Therefore, keeping track of the mapping address and length is a waste | 645 | Therefore, keeping track of the mapping address and length is a waste |
| 651 | of space. Instead of filling your drivers up with ifdefs and the like | 646 | of space. Instead of filling your drivers up with ifdefs and the like |
| 652 | to "work around" this (which would defeat the whole purpose of a | 647 | to "work around" this (which would defeat the whole purpose of a |
| @@ -655,7 +650,7 @@ portable API) the following facilities are provided. · 2 unmodified lines | |||
| 655 | Actually, instead of describing the macros one by one, we'll | 650 | Actually, instead of describing the macros one by one, we'll |
| 656 | transform some example code. | 651 | transform some example code. |
| 657 | 652 | ||
| 658 | 1) Use DECLARE_PCI_UNMAP_{ADDR,LEN} in state saving structures. | 653 | 1) Use DEFINE_DMA_UNMAP_{ADDR,LEN} in state saving structures. |
| 659 | Example, before: | 654 | Example, before: |
| 660 | 655 | ||
| 661 | struct ring_state { | 656 | struct ring_state { |
| @@ -668,14 +663,11 @@ transform some example code. · 6 unmodified lines | |||
| 668 | 663 | ||
| 669 | struct ring_state { | 664 | struct ring_state { |
| 670 | struct sk_buff *skb; | 665 | struct sk_buff *skb; |
| 671 | DECLARE_PCI_UNMAP_ADDR(mapping) | 666 | DEFINE_DMA_UNMAP_ADDR(mapping); |
| 672 | DECLARE_PCI_UNMAP_LEN(len) | 667 | DEFINE_DMA_UNMAP_LEN(len); |
| 673 | }; | 668 | }; |
| 674 | 669 | ||
| 675 | NOTE: DO NOT put a semicolon at the end of the DECLARE_*() | 670 | 2) Use dma_unmap_{addr,len}_set to set these values. |
| 676 | macro. | ||
| 677 | |||
| 678 | 2) Use pci_unmap_{addr,len}_set to set these values. | ||
| 679 | Example, before: | 671 | Example, before: |
| 680 | 672 | ||
| 681 | ringp->mapping = FOO; | 673 | ringp->mapping = FOO; |
| @@ -683,21 +675,21 @@ transform some example code. · 1 unmodified line | |||
| 683 | 675 | ||
| 684 | after: | 676 | after: |
| 685 | 677 | ||
| 686 | pci_unmap_addr_set(ringp, mapping, FOO); | 678 | dma_unmap_addr_set(ringp, mapping, FOO); |
| 687 | pci_unmap_len_set(ringp, len, BAR); | 679 | dma_unmap_len_set(ringp, len, BAR); |
| 688 | 680 | ||
| 689 | 3) Use pci_unmap_{addr,len} to access these values. | 681 | 3) Use dma_unmap_{addr,len} to access these values. |
| 690 | Example, before: | 682 | Example, before: |
| 691 | 683 | ||
| 692 | pci_unmap_single(pdev, ringp->mapping, ringp->len, | 684 | dma_unmap_single(dev, ringp->mapping, ringp->len, |
| 693 | PCI_DMA_FROMDEVICE); | 685 | DMA_FROM_DEVICE); |
| 694 | 686 | ||
| 695 | after: | 687 | after: |
| 696 | 688 | ||
| 697 | pci_unmap_single(pdev, | 689 | dma_unmap_single(dev, |
| 698 | pci_unmap_addr(ringp, mapping), | 690 | dma_unmap_addr(ringp, mapping), |
| 699 | pci_unmap_len(ringp, len), | 691 | dma_unmap_len(ringp, len), |
| 700 | PCI_DMA_FROMDEVICE); | 692 | DMA_FROM_DEVICE); |
| 701 | 693 | ||
| 702 | It really should be self-explanatory. We treat the ADDR and LEN | 694 | It really should be self-explanatory. We treat the ADDR and LEN |
| 703 | separately, because it is possible for an implementation to only | 695 | separately, because it is possible for an implementation to only |
| @@ -732,15 +724,15 @@ to "Closing". · 28 unmodified lines | |||
| 732 | DMA address space is limited on some architectures and an allocation | 724 | DMA address space is limited on some architectures and an allocation |
| 733 | failure can be determined by: | 725 | failure can be determined by: |
| 734 | 726 | ||
| 735 | - checking if pci_alloc_consistent returns NULL or pci_map_sg returns 0 | 727 | - checking if dma_alloc_coherent returns NULL or dma_map_sg returns 0 |
| 736 | 728 | ||
| 737 | - checking the returned dma_addr_t of pci_map_single and pci_map_page | 729 | - checking the returned dma_addr_t of dma_map_single and dma_map_page |
| 738 | by using pci_dma_mapping_error(): | 730 | by using dma_mapping_error(): |
| 739 | 731 | ||
| 740 | dma_addr_t dma_handle; | 732 | dma_addr_t dma_handle; |
| 741 | 733 | ||
| 742 | dma_handle = pci_map_single(pdev, addr, size, direction); | 734 | dma_handle = dma_map_single(dev, addr, size, direction); |
| 743 | if (pci_dma_mapping_error(pdev, dma_handle)) { | 735 | if (dma_mapping_error(dev, dma_handle)) { |
| 744 | /* | 736 | /* |
| 745 | * reduce current DMA mapping usage, | 737 | * reduce current DMA mapping usage, |
| 746 | * delay and try again later or | 738 | * delay and try again later or |
| @@ -4,20 +4,18 @@ · 3 unmodified lines | |||
| 4 | James E.J. Bottomley <James.Bottomley@HansenPartnership.com> | 4 | James E.J. Bottomley <James.Bottomley@HansenPartnership.com> |
| 5 | 5 | ||
| 6 | This document describes the DMA API. For a more gentle introduction | 6 | This document describes the DMA API. For a more gentle introduction |
| 7 | phrased in terms of the pci_ equivalents (and actual examples) see | 7 | of the API (and actual examples) see |
| 8 | Documentation/PCI/PCI-DMA-mapping.txt. | 8 | Documentation/DMA-API-HOWTO.txt. |
| 9 | 9 | ||
| 10 | This API is split into two pieces. Part I describes the API and the | 10 | This API is split into two pieces. Part I describes the API. Part II |
| 11 | corresponding pci_ API. Part II describes the extensions to the API | 11 | describes the extensions to the API for supporting non-consistent |
| 12 | for supporting non-consistent memory machines. Unless you know that | 12 | memory machines. Unless you know that your driver absolutely has to |
| 13 | your driver absolutely has to support non-consistent platforms (this | 13 | support non-consistent platforms (this is usually only legacy |
| 14 | is usually only legacy platforms) you should only use the API | 14 | platforms) you should only use the API described in part I. |
| 15 | described in part I. | ||
| 16 | 15 | ||
| 17 | Part I - pci_ and dma_ Equivalent API | 16 | Part I - dma_ API |
| 18 | ------------------------------------- | 17 | ------------------------------------- |
| 19 | 18 | ||
| 20 | To get the pci_ API, you must #include <linux/pci.h> | ||
| 21 | To get the dma_ API, you must #include <linux/dma-mapping.h> | 19 | To get the dma_ API, you must #include <linux/dma-mapping.h> |
| 22 | 20 | ||
| 23 | 21 | ||
| @@ -27,9 +25,6 @@ Part Ia - Using large dma-coherent buffers · 3 unmodified lines | |||
| 27 | void * | 25 | void * |
| 28 | dma_alloc_coherent(struct device *dev, size_t size, | 26 | dma_alloc_coherent(struct device *dev, size_t size, |
| 29 | dma_addr_t *dma_handle, gfp_t flag) | 27 | dma_addr_t *dma_handle, gfp_t flag) |
| 30 | void * | ||
| 31 | pci_alloc_consistent(struct pci_dev *dev, size_t size, | ||
| 32 | dma_addr_t *dma_handle) | ||
| 33 | 28 | ||
| 34 | Consistent memory is memory for which a write by either the device or | 29 | Consistent memory is memory for which a write by either the device or |
| 35 | the processor can immediately be read by the processor or device | 30 | the processor can immediately be read by the processor or device |
| @@ -53,15 +48,11 @@ The simplest way to do that is to use the dma_pool calls (see below). · 17 unmodified lines | |||
| 53 | The flag parameter (dma_alloc_coherent only) allows the caller to | 48 | The flag parameter (dma_alloc_coherent only) allows the caller to |
| 54 | specify the GFP_ flags (see kmalloc) for the allocation (the | 49 | specify the GFP_ flags (see kmalloc) for the allocation (the |
| 55 | implementation may choose to ignore flags that affect the location of | 50 | implementation may choose to ignore flags that affect the location of |
| 56 | the returned memory, like GFP_DMA). For pci_alloc_consistent, you | 51 | the returned memory, like GFP_DMA). |
| 57 | must assume GFP_ATOMIC behaviour. | ||
| 58 | 52 | ||
| 59 | void | 53 | void |
| 60 | dma_free_coherent(struct device *dev, size_t size, void *cpu_addr, | 54 | dma_free_coherent(struct device *dev, size_t size, void *cpu_addr, |
| 61 | dma_addr_t dma_handle) | 55 | dma_addr_t dma_handle) |
| 62 | void | ||
| 63 | pci_free_consistent(struct pci_dev *dev, size_t size, void *cpu_addr, | ||
| 64 | dma_addr_t dma_handle) | ||
| 65 | 56 | ||
| 66 | Free the region of consistent memory you previously allocated. dev, | 57 | Free the region of consistent memory you previously allocated. dev, |
| 67 | size and dma_handle must all be the same as those passed into the | 58 | size and dma_handle must all be the same as those passed into the |
| @@ -89,10 +80,6 @@ for alignment, like queue heads needing to be aligned on N-byte boundaries. · 21 unmodified lines | |||
| 89 | dma_pool_create(const char *name, struct device *dev, | 80 | dma_pool_create(const char *name, struct device *dev, |
| 90 | size_t size, size_t align, size_t alloc); | 81 | size_t size, size_t align, size_t alloc); |
| 91 | 82 | ||
| 92 | struct pci_pool * | ||
| 93 | pci_pool_create(const char *name, struct pci_device *dev, | ||
| 94 | size_t size, size_t align, size_t alloc); | ||
| 95 | |||
| 96 | The pool create() routines initialize a pool of dma-coherent buffers | 83 | The pool create() routines initialize a pool of dma-coherent buffers |
| 97 | for use with a given device. It must be called in a context which | 84 | for use with a given device. It must be called in a context which |
| 98 | can sleep. | 85 | can sleep. |
| @@ -108,9 +95,6 @@ from this pool must not cross 4KByte boundaries. · 9 unmodified lines | |||
| 108 | void *dma_pool_alloc(struct dma_pool *pool, gfp_t gfp_flags, | 95 | void *dma_pool_alloc(struct dma_pool *pool, gfp_t gfp_flags, |
| 109 | dma_addr_t *dma_handle); | 96 | dma_addr_t *dma_handle); |
| 110 | 97 | ||
| 111 | void *pci_pool_alloc(struct pci_pool *pool, gfp_t gfp_flags, | ||
| 112 | dma_addr_t *dma_handle); | ||
| 113 | |||
| 114 | This allocates memory from the pool; the returned memory will meet the size | 98 | This allocates memory from the pool; the returned memory will meet the size |
| 115 | and alignment requirements specified at creation time. Pass GFP_ATOMIC to | 99 | and alignment requirements specified at creation time. Pass GFP_ATOMIC to |
| 116 | prevent blocking, or if it's permitted (not in_interrupt, not holding SMP locks), | 100 | prevent blocking, or if it's permitted (not in_interrupt, not holding SMP locks), |
| @@ -122,9 +106,6 @@ pool's device. · 5 unmodified lines | |||
| 122 | void dma_pool_free(struct dma_pool *pool, void *vaddr, | 106 | void dma_pool_free(struct dma_pool *pool, void *vaddr, |
| 123 | dma_addr_t addr); | 107 | dma_addr_t addr); |
| 124 | 108 | ||
| 125 | void pci_pool_free(struct pci_pool *pool, void *vaddr, | ||
| 126 | dma_addr_t addr); | ||
| 127 | |||
| 128 | This puts memory back into the pool. The pool is what was passed to | 109 | This puts memory back into the pool. The pool is what was passed to |
| 129 | the pool allocation routine; the cpu (vaddr) and dma addresses are what | 110 | the pool allocation routine; the cpu (vaddr) and dma addresses are what |
| 130 | were returned when that routine allocated the memory being freed. | 111 | were returned when that routine allocated the memory being freed. |
| @@ -132,8 +113,6 @@ were returned when that routine allocated the memory being freed. · 1 unmodified line | |||
| 132 | 113 | ||
| 133 | void dma_pool_destroy(struct dma_pool *pool); | 114 | void dma_pool_destroy(struct dma_pool *pool); |
| 134 | 115 | ||
| 135 | void pci_pool_destroy(struct pci_pool *pool); | ||
| 136 | |||
| 137 | The pool destroy() routines free the resources of the pool. They must be | 116 | The pool destroy() routines free the resources of the pool. They must be |
| 138 | called in a context which can sleep. Make sure you've freed all allocated | 117 | called in a context which can sleep. Make sure you've freed all allocated |
| 139 | memory back to the pool before you destroy it. | 118 | memory back to the pool before you destroy it. |
| @@ -144,8 +123,6 @@ Part Ic - DMA addressing limitations · 4 unmodified lines | |||
| 144 | 123 | ||
| 145 | int | 124 | int |
| 146 | dma_supported(struct device *dev, u64 mask) | 125 | dma_supported(struct device *dev, u64 mask) |
| 147 | int | ||
| 148 | pci_dma_supported(struct pci_dev *hwdev, u64 mask) | ||
| 149 | 126 | ||
| 150 | Checks to see if the device can support DMA to the memory described by | 127 | Checks to see if the device can support DMA to the memory described by |
| 151 | mask. | 128 | mask. |
| @@ -159,8 +136,14 @@ driver writers. · 7 unmodified lines | |||
| 159 | 136 | ||
| 160 | int | 137 | int |
| 161 | dma_set_mask(struct device *dev, u64 mask) | 138 | dma_set_mask(struct device *dev, u64 mask) |
| 139 | |||
| 140 | Checks to see if the mask is possible and updates the device | ||
| 141 | parameters if it is. | ||
| 142 | |||
| 143 | Returns: 0 if successful and a negative error if not. | ||
| 144 | |||
| 162 | int | 145 | int |
| 163 | pci_set_dma_mask(struct pci_device *dev, u64 mask) | 146 | dma_set_coherent_mask(struct device *dev, u64 mask) |
| 164 | 147 | ||
| 165 | Checks to see if the mask is possible and updates the device | 148 | Checks to see if the mask is possible and updates the device |
| 166 | parameters if it is. | 149 | parameters if it is. |
| @@ -187,9 +170,6 @@ Part Id - Streaming DMA mappings · 20 unmodified lines | |||
| 187 | dma_addr_t | 170 | dma_addr_t |
| 188 | dma_map_single(struct device *dev, void *cpu_addr, size_t size, | 171 | dma_map_single(struct device *dev, void *cpu_addr, size_t size, |
| 189 | enum dma_data_direction direction) | 172 | enum dma_data_direction direction) |
| 190 | dma_addr_t | ||
| 191 | pci_map_single(struct pci_dev *hwdev, void *cpu_addr, size_t size, | ||
| 192 | int direction) | ||
| 193 | 173 | ||
| 194 | Maps a piece of processor virtual memory so it can be accessed by the | 174 | Maps a piece of processor virtual memory so it can be accessed by the |
| 195 | device and returns the physical handle of the memory. | 175 | device and returns the physical handle of the memory. |
| @@ -198,14 +178,10 @@ The direction for both api's may be converted freely by casting. · 2 unmodified lines | |||
| 198 | However the dma_ API uses a strongly typed enumerator for its | 178 | However the dma_ API uses a strongly typed enumerator for its |
| 199 | direction: | 179 | direction: |
| 200 | 180 | ||
| 201 | DMA_NONE = PCI_DMA_NONE no direction (used for | 181 | DMA_NONE no direction (used for debugging) |
| 202 | debugging) | 182 | DMA_TO_DEVICE data is going from the memory to the device |
| 203 | DMA_TO_DEVICE = PCI_DMA_TODEVICE data is going from the | 183 | DMA_FROM_DEVICE data is coming from the device to the memory |
| 204 | memory to the device | 184 | DMA_BIDIRECTIONAL direction isn't known |
| 205 | DMA_FROM_DEVICE = PCI_DMA_FROMDEVICE data is coming from | ||
| 206 | the device to the | ||
| 207 | memory | ||
| 208 | DMA_BIDIRECTIONAL = PCI_DMA_BIDIRECTIONAL direction isn't known | ||
| 209 | 185 | ||
| 210 | Notes: Not all memory regions in a machine can be mapped by this | 186 | Notes: Not all memory regions in a machine can be mapped by this |
| 211 | API. Further, regions that appear to be physically contiguous in | 187 | API. Further, regions that appear to be physically contiguous in |
| @@ -268,9 +244,6 @@ cache lines are updated with data that the device may have changed). · 56 unmodified lines | |||
| 268 | void | 244 | void |
| 269 | dma_unmap_single(struct device *dev, dma_addr_t dma_addr, size_t size, | 245 | dma_unmap_single(struct device *dev, dma_addr_t dma_addr, size_t size, |
| 270 | enum dma_data_direction direction) | 246 | enum dma_data_direction direction) |
| 271 | void | ||
| 272 | pci_unmap_single(struct pci_dev *hwdev, dma_addr_t dma_addr, | ||
| 273 | size_t size, int direction) | ||
| 274 | 247 | ||
| 275 | Unmaps the region previously mapped. All the parameters passed in | 248 | Unmaps the region previously mapped. All the parameters passed in |
| 276 | must be identical to those passed in (and returned) by the mapping | 249 | must be identical to those passed in (and returned) by the mapping |
| @@ -280,15 +253,9 @@ dma_addr_t · 3 unmodified lines | |||
| 280 | dma_map_page(struct device *dev, struct page *page, | 253 | dma_map_page(struct device *dev, struct page *page, |
| 281 | unsigned long offset, size_t size, | 254 | unsigned long offset, size_t size, |
| 282 | enum dma_data_direction direction) | 255 | enum dma_data_direction direction) |
| 283 | dma_addr_t | ||
| 284 | pci_map_page(struct pci_dev *hwdev, struct page *page, | ||
| 285 | unsigned long offset, size_t size, int direction) | ||
| 286 | void | 256 | void |
| 287 | dma_unmap_page(struct device *dev, dma_addr_t dma_address, size_t size, | 257 | dma_unmap_page(struct device *dev, dma_addr_t dma_address, size_t size, |
| 288 | enum dma_data_direction direction) | 258 | enum dma_data_direction direction) |
| 289 | void | ||
| 290 | pci_unmap_page(struct pci_dev *hwdev, dma_addr_t dma_address, | ||
| 291 | size_t size, int direction) | ||
| 292 | 259 | ||
| 293 | API for mapping and unmapping for pages. All the notes and warnings | 260 | API for mapping and unmapping for pages. All the notes and warnings |
| 294 | for the other mapping APIs apply here. Also, although the <offset> | 261 | for the other mapping APIs apply here. Also, although the <offset> |
| @@ -299,9 +266,6 @@ cache width is. · 4 unmodified lines | |||
| 299 | int | 266 | int |
| 300 | dma_mapping_error(struct device *dev, dma_addr_t dma_addr) | 267 | dma_mapping_error(struct device *dev, dma_addr_t dma_addr) |
| 301 | 268 | ||
| 302 | int | ||
| 303 | pci_dma_mapping_error(struct pci_dev *hwdev, dma_addr_t dma_addr) | ||
| 304 | |||
| 305 | In some circumstances dma_map_single and dma_map_page will fail to create | 269 | In some circumstances dma_map_single and dma_map_page will fail to create |
| 306 | a mapping. A driver can check for these errors by testing the returned | 270 | a mapping. A driver can check for these errors by testing the returned |
| 307 | dma address with dma_mapping_error(). A non-zero return value means the mapping | 271 | dma address with dma_mapping_error(). A non-zero return value means the mapping |
| @@ -311,9 +275,6 @@ reduce current DMA mapping usage or delay and try again later). · 3 unmodified lines | |||
| 311 | int | 275 | int |
| 312 | dma_map_sg(struct device *dev, struct scatterlist *sg, | 276 | dma_map_sg(struct device *dev, struct scatterlist *sg, |
| 313 | int nents, enum dma_data_direction direction) | 277 | int nents, enum dma_data_direction direction) |
| 314 | int | ||
| 315 | pci_map_sg(struct pci_dev *hwdev, struct scatterlist *sg, | ||
| 316 | int nents, int direction) | ||
| 317 | 278 | ||
| 318 | Returns: the number of physical segments mapped (this may be shorter | 279 | Returns: the number of physical segments mapped (this may be shorter |
| 319 | than <nents> passed in if some elements of the scatter/gather list are | 280 | than <nents> passed in if some elements of the scatter/gather list are |
| @@ -353,9 +314,6 @@ accessed sg->address and sg->length as shown above. · 33 unmodified lines | |||
| 353 | void | 314 | void |
| 354 | dma_unmap_sg(struct device *dev, struct scatterlist *sg, | 315 | dma_unmap_sg(struct device *dev, struct scatterlist *sg, |
| 355 | int nhwentries, enum dma_data_direction direction) | 316 | int nhwentries, enum dma_data_direction direction) |
| 356 | void | ||
| 357 | pci_unmap_sg(struct pci_dev *hwdev, struct scatterlist *sg, | ||
| 358 | int nents, int direction) | ||
| 359 | 317 | ||
| 360 | Unmap the previously mapped scatter/gather list. All the parameters | 318 | Unmap the previously mapped scatter/gather list. All the parameters |
| 361 | must be the same as those and passed in to the scatter/gather mapping | 319 | must be the same as those and passed in to the scatter/gather mapping |
| @@ -365,21 +323,23 @@ Note: <nents> must be the number you passed in, *not* the number of · 3 unmodified lines | |||
| 365 | physical entries returned. | 323 | physical entries returned. |
| 366 | 324 | ||
| 367 | void | 325 | void |
| 368 | dma_sync_single(struct device *dev, dma_addr_t dma_handle, size_t size, | 326 | dma_sync_single_for_cpu(struct device *dev, dma_addr_t dma_handle, size_t size, |
| 369 | enum dma_data_direction direction) | 327 | enum dma_data_direction direction) |
| 370 | void | 328 | void |
| 371 | pci_dma_sync_single(struct pci_dev *hwdev, dma_addr_t dma_handle, | 329 | dma_sync_single_for_device(struct device *dev, dma_addr_t dma_handle, size_t size, |
| 372 | size_t size, int direction) | 330 | enum dma_data_direction direction) |
| 373 | void | 331 | void |
| 374 | dma_sync_sg(struct device *dev, struct scatterlist *sg, int nelems, | 332 | dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg, int nelems, |
| 375 | enum dma_data_direction direction) | 333 | enum dma_data_direction direction) |
| 376 | void | 334 | void |
| 377 | pci_dma_sync_sg(struct pci_dev *hwdev, struct scatterlist *sg, | 335 | dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg, int nelems, |
| 378 | int nelems, int direction) | 336 | enum dma_data_direction direction) |
| 379 | 337 | ||
| 380 | Synchronise a single contiguous or scatter/gather mapping. All the | 338 | Synchronise a single contiguous or scatter/gather mapping for the cpu |
| 381 | parameters must be the same as those passed into the single mapping | 339 | and device. With the sync_sg API, all the parameters must be the same |
| 382 | API. | 340 | as those passed into the single mapping API. With the sync_single API, |
| 341 | you can use dma_handle and size parameters that aren't identical to | ||
| 342 | those passed into the single mapping API to do a partial sync. | ||
| 383 | 343 | ||
| 384 | Notes: You must do this: | 344 | Notes: You must do this: |
| 385 | 345 | ||
| @@ -461,9 +421,9 @@ void whizco_dma_map_sg_attrs(struct device *dev, dma_addr_t dma_addr, · 75 unmodified lines | |||
| 461 | Part II - Advanced dma_ usage | 421 | Part II - Advanced dma_ usage |
| 462 | ----------------------------- | 422 | ----------------------------- |
| 463 | 423 | ||
| 464 | Warning: These pieces of the DMA API have no PCI equivalent. They | 424 | Warning: These pieces of the DMA API should not be used in the |
| 465 | should also not be used in the majority of cases, since they cater for | 425 | majority of cases, since they cater for unlikely corner cases that |
| 466 | unlikely corner cases that don't belong in usual drivers. | 426 | don't belong in usual drivers. |
| 467 | 427 | ||
| 468 | If you don't understand how cache line coherency works between a | 428 | If you don't understand how cache line coherency works between a |
| 469 | processor and an I/O device, you should not be using this part of the | 429 | processor and an I/O device, you should not be using this part of the |
| @@ -513,16 +473,6 @@ line, but it will guarantee that one or more cache lines fit exactly · 43 unmodified lines | |||
| 513 | into the width returned by this call. It will also always be a power | 473 | into the width returned by this call. It will also always be a power |
| 514 | of two for easy alignment. | 474 | of two for easy alignment. |
| 515 | 475 | ||
| 516 | void | ||
| 517 | dma_sync_single_range(struct device *dev, dma_addr_t dma_handle, | ||
| 518 | unsigned long offset, size_t size, | ||
| 519 | enum dma_data_direction direction) | ||
| 520 | |||
| 521 | Does a partial sync, starting at offset and continuing for size. You | ||
| 522 | must be careful to observe the cache alignment and width when doing | ||
| 523 | anything like this. You must also be extra careful about accessing | ||
| 524 | memory you intend to sync partially. | ||
| 525 | |||
| 526 | void | 476 | void |
| 527 | dma_cache_sync(struct device *dev, void *vaddr, size_t size, | 477 | dma_cache_sync(struct device *dev, void *vaddr, size_t size, |
| 528 | enum dma_data_direction direction) | 478 | enum dma_data_direction direction) |
| @@ -488,7 +488,7 @@ static void board_select_chip (struct mtd_info *mtd, int chip) · 487 unmodified lines | |||
| 488 | The ECC bytes must be placed immidiately after the data | 488 | The ECC bytes must be placed immidiately after the data |
| 489 | bytes in order to make the syndrome generator work. This | 489 | bytes in order to make the syndrome generator work. This |
| 490 | is contrary to the usual layout used by software ECC. The | 490 | is contrary to the usual layout used by software ECC. The |
| 491 | seperation of data and out of band area is not longer | 491 | separation of data and out of band area is not longer |
| 492 | possible. The nand driver code handles this layout and | 492 | possible. The nand driver code handles this layout and |
| 493 | the remaining free bytes in the oob area are managed by | 493 | the remaining free bytes in the oob area are managed by |
| 494 | the autoplacement code. Provide a matching oob-layout | 494 | the autoplacement code. Provide a matching oob-layout |
| @@ -560,7 +560,7 @@ static void board_select_chip (struct mtd_info *mtd, int chip) · 65 unmodified lines | |||
| 560 | bad blocks. They have factory marked good blocks. The marker pattern | 560 | bad blocks. They have factory marked good blocks. The marker pattern |
| 561 | is erased when the block is erased to be reused. So in case of | 561 | is erased when the block is erased to be reused. So in case of |
| 562 | powerloss before writing the pattern back to the chip this block | 562 | powerloss before writing the pattern back to the chip this block |
| 563 | would be lost and added to the bad blocks. Therefor we scan the | 563 | would be lost and added to the bad blocks. Therefore we scan the |
| 564 | chip(s) when we detect them the first time for good blocks and | 564 | chip(s) when we detect them the first time for good blocks and |
| 565 | store this information in a bad block table before erasing any | 565 | store this information in a bad block table before erasing any |
| 566 | of the blocks. | 566 | of the blocks. |
| @@ -1094,7 +1094,7 @@ in this page</entry> · 527 unmodified lines | |||
| 1094 | manufacturers specifications. This applies similar to the spare area. | 1094 | manufacturers specifications. This applies similar to the spare area. |
| 1095 | </para> | 1095 | </para> |
| 1096 | <para> | 1096 | <para> |
| 1097 | Therefor NAND aware filesystems must either write in page size chunks | 1097 | Therefore NAND aware filesystems must either write in page size chunks |
| 1098 | or hold a writebuffer to collect smaller writes until they sum up to | 1098 | or hold a writebuffer to collect smaller writes until they sum up to |
| 1099 | pagesize. Available NAND aware filesystems: JFFS2, YAFFS. | 1099 | pagesize. Available NAND aware filesystems: JFFS2, YAFFS. |
| 1100 | </para> | 1100 | </para> |
| @@ -1170,7 +1170,7 @@ frames per second. If less than this number of frames is to be · 1169 unmodified lines | |||
| 1170 | captured or output, applications can request frame skipping or | 1170 | captured or output, applications can request frame skipping or |
| 1171 | duplicating on the driver side. This is especially useful when using | 1171 | duplicating on the driver side. This is especially useful when using |
| 1172 | the &func-read; or &func-write;, which are not augmented by timestamps | 1172 | the &func-read; or &func-write;, which are not augmented by timestamps |
| 1173 | or sequence counters, and to avoid unneccessary data copying.</para> | 1173 | or sequence counters, and to avoid unnecessary data copying.</para> |
| 1174 | 1174 | ||
| 1175 | <para>Finally these ioctls can be used to determine the number of | 1175 | <para>Finally these ioctls can be used to determine the number of |
| 1176 | buffers used internally by a driver in read/write mode. For | 1176 | buffers used internally by a driver in read/write mode. For |
| @@ -55,7 +55,7 @@ captured or output, applications can request frame skipping or · 54 unmodified lines | |||
| 55 | duplicating on the driver side. This is especially useful when using | 55 | duplicating on the driver side. This is especially useful when using |
| 56 | the <function>read()</function> or <function>write()</function>, which | 56 | the <function>read()</function> or <function>write()</function>, which |
| 57 | are not augmented by timestamps or sequence counters, and to avoid | 57 | are not augmented by timestamps or sequence counters, and to avoid |
| 58 | unneccessary data copying.</para> | 58 | unnecessary data copying.</para> |
| 59 | 59 | ||
| 60 | <para>Further these ioctls can be used to determine the number of | 60 | <para>Further these ioctls can be used to determine the number of |
| 61 | buffers used internally by a driver in read/write mode. For | 61 | buffers used internally by a driver in read/write mode. For |
| @@ -221,8 +221,8 @@ branches. These different branches are: · 220 unmodified lines | |||
| 221 | - main 2.6.x kernel tree | 221 | - main 2.6.x kernel tree |
| 222 | - 2.6.x.y -stable kernel tree | 222 | - 2.6.x.y -stable kernel tree |
| 223 | - 2.6.x -git kernel patches | 223 | - 2.6.x -git kernel patches |
| 224 | - 2.6.x -mm kernel patches | ||
| 225 | - subsystem specific kernel trees and patches | 224 | - subsystem specific kernel trees and patches |
| 225 | - the 2.6.x -next kernel tree for integration tests | ||
| 226 | 226 | ||
| 227 | 2.6.x kernel tree | 227 | 2.6.x kernel tree |
| 228 | ----------------- | 228 | ----------------- |
| @@ -232,7 +232,7 @@ process is as follows: · 3 unmodified lines | |||
| 232 | - As soon as a new kernel is released a two weeks window is open, | 232 | - As soon as a new kernel is released a two weeks window is open, |
| 233 | during this period of time maintainers can submit big diffs to | 233 | during this period of time maintainers can submit big diffs to |
| 234 | Linus, usually the patches that have already been included in the | 234 | Linus, usually the patches that have already been included in the |
| 235 | -mm kernel for a few weeks. The preferred way to submit big changes | 235 | -next kernel for a few weeks. The preferred way to submit big changes |
| 236 | is using git (the kernel's source management tool, more information | 236 | is using git (the kernel's source management tool, more information |
| 237 | can be found at http://git.or.cz/) but plain patches are also just | 237 | can be found at http://git.or.cz/) but plain patches are also just |
| 238 | fine. | 238 | fine. |
| @@ -293,84 +293,43 @@ daily and represent the current state of Linus' tree. They are more · 54 unmodified lines | |||
| 293 | experimental than -rc kernels since they are generated automatically | 293 | experimental than -rc kernels since they are generated automatically |
| 294 | without even a cursory glance to see if they are sane. | 294 | without even a cursory glance to see if they are sane. |
| 295 | 295 | ||
| 296 | 2.6.x -mm kernel patches | ||
| 297 | ------------------------ | ||
| 298 | These are experimental kernel patches released by Andrew Morton. Andrew | ||
| 299 | takes all of the different subsystem kernel trees and patches and mushes | ||
| 300 | them together, along with a lot of patches that have been plucked from | ||
| 301 | the linux-kernel mailing list. This tree serves as a proving ground for | ||
| 302 | new features and patches. Once a patch has proved its worth in -mm for | ||
| 303 | a while Andrew or the subsystem maintainer pushes it on to Linus for | ||
| 304 | inclusion in mainline. | ||
| 305 | |||
| 306 | It is heavily encouraged that all new patches get tested in the -mm tree | ||
| 307 | before they are sent to Linus for inclusion in the main kernel tree. Code | ||
| 308 | which does not make an appearance in -mm before the opening of the merge | ||
| 309 | window will prove hard to merge into the mainline. | ||
| 310 | |||
| 311 | These kernels are not appropriate for use on systems that are supposed | ||
| 312 | to be stable and they are more risky to run than any of the other | ||
| 313 | branches. | ||
| 314 | |||
| 315 | If you wish to help out with the kernel development process, please test | ||
| 316 | and use these kernel releases and provide feedback to the linux-kernel | ||
| 317 | mailing list if you have any problems, and if everything works properly. | ||
| 318 | |||
| 319 | In addition to all the other experimental patches, these kernels usually | ||
| 320 | also contain any changes in the mainline -git kernels available at the | ||
| 321 | time of release. | ||
| 322 | |||
| 323 | The -mm kernels are not released on a fixed schedule, but usually a few | ||
| 324 | -mm kernels are released in between each -rc kernel (1 to 3 is common). | ||
| 325 | |||
| 326 | Subsystem Specific kernel trees and patches | 296 | Subsystem Specific kernel trees and patches |
| 327 | ------------------------------------------- | 297 | ------------------------------------------- |
| 328 | A number of the different kernel subsystem developers expose their | 298 | The maintainers of the various kernel subsystems --- and also many |
| 329 | development trees so that others can see what is happening in the | 299 | kernel subsystem developers --- expose their current state of |
| 330 | different areas of the kernel. These trees are pulled into the -mm | 300 | development in source repositories. That way, others can see what is |
| 331 | kernel releases as described above. | 301 | happening in the different areas of the kernel. In areas where |
| 332 | 302 | development is rapid, a developer may be asked to base his submissions | |
| 333 | Here is a list of some of the different kernel trees available: | 303 | onto such a subsystem kernel tree so that conflicts between the |
| 334 | git trees: | 304 | submission and other already ongoing work are avoided. |
| 335 | - Kbuild development tree, Sam Ravnborg <sam@ravnborg.org> | 305 | |
| 336 | git.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild.git | 306 | Most of these repositories are git trees, but there are also other SCMs |
| 337 | 307 | in use, or patch queues being published as quilt series. Addresses of | |
| 338 | - ACPI development tree, Len Brown <len.brown@intel.com> | 308 | these subsystem repositories are listed in the MAINTAINERS file. Many |
| 339 | git.kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git | 309 | of them can be browsed at http://git.kernel.org/. |
| 340 | 310 | ||
| 341 | - Block development tree, Jens Axboe <jens.axboe@oracle.com> | 311 | Before a proposed patch is committed to such a subsystem tree, it is |
| 342 | git.kernel.org:/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git | 312 | subject to review which primarily happens on mailing lists (see the |
| 343 | 313 | respective section below). For several kernel subsystems, this review | |
| 344 | - DRM development tree, Dave Airlie <airlied@linux.ie> | 314 | process is tracked with the tool patchwork. Patchwork offers a web |
| 345 | git.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6.git | 315 | interface which shows patch postings, any comments on a patch or |
| 346 | 316 | revisions to it, and maintainers can mark patches as under review, | |
| 347 | - ia64 development tree, Tony Luck <tony.luck@intel.com> | 317 | accepted, or rejected. Most of these patchwork sites are listed at |
| 348 | git.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6.git | 318 | http://patchwork.kernel.org/ or http://patchwork.ozlabs.org/. |
| 349 | 319 | ||
| 350 | - infiniband, Roland Dreier <rolandd@cisco.com> | 320 | 2.6.x -next kernel tree for integration tests |
| 351 | git.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband.git | 321 | --------------------------------------------- |
| 352 | 322 | Before updates from subsystem trees are merged into the mainline 2.6.x | |
| 353 | - libata, Jeff Garzik <jgarzik@pobox.com> | 323 | tree, they need to be integration-tested. For this purpose, a special |
| 354 | git.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev.git | 324 | testing repository exists into which virtually all subsystem trees are |
| 355 | 325 | pulled on an almost daily basis: | |
| 356 | - network drivers, Jeff Garzik <jgarzik@pobox.com> | 326 | http://git.kernel.org/?p=linux/kernel/git/sfr/linux-next.git |
| 357 | git.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git | 327 | http://linux.f-seidel.de/linux-next/pmwiki/ |
| 358 | 328 | ||
| 359 | - pcmcia, Dominik Brodowski <linux@dominikbrodowski.net> | 329 | This way, the -next kernel gives a summary outlook onto what will be |
| 360 | git.kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6.git | 330 | expected to go into the mainline kernel at the next merge period. |
| 361 | 331 | Adventurous testers are very welcome to runtime-test the -next kernel. | |
| 362 | - SCSI, James Bottomley <James.Bottomley@hansenpartnership.com> | ||
| 363 | git.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git | ||
| 364 | |||
| 365 | - x86, Ingo Molnar <mingo@elte.hu> | ||
| 366 | git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86.git | ||
| 367 | |||
| 368 | quilt trees: | ||
| 369 | - USB, Driver Core, and I2C, Greg Kroah-Hartman <gregkh@suse.de> | ||
| 370 | kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/ | ||
| 371 | 332 | ||
| 372 | Other kernel trees can be found listed at http://git.kernel.org/ and in | ||
| 373 | the MAINTAINERS file. | ||
| 374 | 333 | ||
| 375 | Bug Reporting | 334 | Bug Reporting |
| 376 | ------------- | 335 | ------------- |
| @@ -365,6 +365,7 @@ You can change this at module load time (for a module) with: · 364 unmodified lines | |||
| 365 | regshifts=<shift1>,<shift2>,... | 365 | regshifts=<shift1>,<shift2>,... |
| 366 | slave_addrs=<addr1>,<addr2>,... | 366 | slave_addrs=<addr1>,<addr2>,... |
| 367 | force_kipmid=<enable1>,<enable2>,... | 367 | force_kipmid=<enable1>,<enable2>,... |
| 368 | kipmid_max_busy_us=<ustime1>,<ustime2>,... | ||
| 368 | unload_when_empty=[0|1] | 369 | unload_when_empty=[0|1] |
| 369 | 370 | ||
| 370 | Each of these except si_trydefaults is a list, the first item for the | 371 | Each of these except si_trydefaults is a list, the first item for the |
| @@ -433,6 +434,7 @@ kernel command line as: · 62 unmodified lines | |||
| 433 | ipmi_si.regshifts=<shift1>,<shift2>,... | 434 | ipmi_si.regshifts=<shift1>,<shift2>,... |
| 434 | ipmi_si.slave_addrs=<addr1>,<addr2>,... | 435 | ipmi_si.slave_addrs=<addr1>,<addr2>,... |
| 435 | ipmi_si.force_kipmid=<enable1>,<enable2>,... | 436 | ipmi_si.force_kipmid=<enable1>,<enable2>,... |
| 437 | ipmi_si.kipmid_max_busy_us=<ustime1>,<ustime2>,... | ||
| 436 | 438 | ||
| 437 | It works the same as the module parameters of the same names. | 439 | It works the same as the module parameters of the same names. |
| 438 | 440 | ||
| @@ -450,6 +452,16 @@ force this thread on or off. If you force it off and don't have · 11 unmodified lines | |||
| 450 | interrupts, the driver will run VERY slowly. Don't blame me, | 452 | interrupts, the driver will run VERY slowly. Don't blame me, |
| 451 | these interfaces suck. | 453 | these interfaces suck. |
| 452 | 454 | ||
| 455 | Unfortunately, this thread can use a lot of CPU depending on the | ||
| 456 | interface's performance. This can waste a lot of CPU and cause | ||
| 457 | various issues with detecting idle CPU and using extra power. To | ||
| 458 | avoid this, the kipmid_max_busy_us sets the maximum amount of time, in | ||
| 459 | microseconds, that kipmid will spin before sleeping for a tick. This | ||
| 460 | value sets a balance between performance and CPU waste and needs to be | ||
| 461 | tuned to your needs. Maybe, someday, auto-tuning will be added, but | ||
| 462 | that's not a simple thing and even the auto-tuning would need to be | ||
| 463 | tuned to the user's desired performance. | ||
| 464 | |||
| 453 | The driver supports a hot add and remove of interfaces. This way, | 465 | The driver supports a hot add and remove of interfaces. This way, |
| 454 | interfaces can be added or removed after the kernel is up and running. | 466 | interfaces can be added or removed after the kernel is up and running. |
| 455 | This is done using /sys/modules/ipmi_si/parameters/hotmod, which is a | 467 | This is done using /sys/modules/ipmi_si/parameters/hotmod, which is a |
| @@ -1,3 +1,3 @@ | |||
| 1 | obj-m := DocBook/ accounting/ auxdisplay/ connector/ \ | 1 | obj-m := DocBook/ accounting/ auxdisplay/ connector/ \ |
| 2 | filesystems/configfs/ ia64/ networking/ \ | 2 | filesystems/ filesystems/configfs/ ia64/ laptops/ networking/ \ |
| 3 | pcmcia/ spi/ video4linux/ vm/ watchdog/src/ | 3 | pcmcia/ spi/ timers/ video4linux/ vm/ watchdog/src/ |
| @@ -9,10 +9,14 @@ Documentation/SubmittingPatches and elsewhere regarding submitting Linux · 8 unmodified lines | |||
| 9 | kernel patches. | 9 | kernel patches. |
| 10 | 10 | ||
| 11 | 11 | ||
| 12 | 1: Builds cleanly with applicable or modified CONFIG options =y, =m, and | 12 | 1: If you use a facility then #include the file that defines/declares |
| 13 | that facility. Don't depend on other header files pulling in ones | ||
| 14 | that you use. | ||
| 15 | |||
| 16 | 2: Builds cleanly with applicable or modified CONFIG options =y, =m, and | ||
| 13 | =n. No gcc warnings/errors, no linker warnings/errors. | 17 | =n. No gcc warnings/errors, no linker warnings/errors. |
| 14 | 18 | ||
| 15 | 2: Passes allnoconfig, allmodconfig | 19 | 2b: Passes allnoconfig, allmodconfig |
| 16 | 20 | ||
| 17 | 3: Builds on multiple CPU architectures by using local cross-compile tools | 21 | 3: Builds on multiple CPU architectures by using local cross-compile tools |
| 18 | or some other build farm. | 22 | or some other build farm. |
| @@ -14,8 +14,8 @@ Introduction · 13 unmodified lines | |||
| 14 | how the clocks are arranged. The first implementation used as single | 14 | how the clocks are arranged. The first implementation used as single |
| 15 | PLL to feed the ARM, memory and peripherals via a series of dividers | 15 | PLL to feed the ARM, memory and peripherals via a series of dividers |
| 16 | and muxes and this is the implementation that is documented here. A | 16 | and muxes and this is the implementation that is documented here. A |
| 17 | newer version where there is a seperate PLL and clock divider for the | 17 | newer version where there is a separate PLL and clock divider for the |
| 18 | ARM core is available as a seperate driver. | 18 | ARM core is available as a separate driver. |
| 19 | 19 | ||
| 20 | 20 | ||
| 21 | Layout | 21 | Layout |
| @@ -0,0 +1,86 @@ | |||
| 1 | Samsung ARM Linux Overview | ||
| 2 | ========================== | ||
| 3 | |||
| 4 | Introduction | ||
| 5 | ------------ | ||
| 6 | |||
| 7 | The Samsung range of ARM SoCs spans many similar devices, from the initial | ||
| 8 | ARM9 through to the newest ARM cores. This document shows an overview of | ||
| 9 | the current kernel support, how to use it and where to find the code | ||
| 10 | that supports this. | ||
| 11 | |||
| 12 | The currently supported SoCs are: | ||
| 13 | |||
| 14 | - S3C24XX: See Documentation/arm/Samsung-S3C24XX/Overview.txt for full list | ||
| 15 | - S3C64XX: S3C6400 and S3C6410 | ||
| 16 | - S5PC6440 | ||
| 17 | |||
| 18 | S5PC100 and S5PC110 support is currently being merged | ||
| 19 | |||
| 20 | |||
| 21 | S3C24XX Systems | ||
| 22 | --------------- | ||
| 23 | |||
| 24 | There is still documentation in Documnetation/arm/Samsung-S3C24XX/ which | ||
| 25 | deals with the architecture and drivers specific to these devices. | ||
| 26 | |||
| 27 | See Documentation/arm/Samsung-S3C24XX/Overview.txt for more information | ||
| 28 | on the implementation details and specific support. | ||
| 29 | |||
| 30 | |||
| 31 | Configuration | ||
| 32 | ------------- | ||
| 33 | |||
| 34 | A number of configurations are supplied, as there is no current way of | ||
| 35 | unifying all the SoCs into one kernel. | ||
| 36 | |||
| 37 | s5p6440_defconfig - S5P6440 specific default configuration | ||
| 38 | s5pc100_defconfig - S5PC100 specific default configuration | ||
| 39 | |||
| 40 | |||
| 41 | Layout | ||
| 42 | ------ | ||
| 43 | |||
| 44 | The directory layout is currently being restructured, and consists of | ||
| 45 | several platform directories and then the machine specific directories | ||
| 46 | of the CPUs being built for. | ||
| 47 | |||
| 48 | plat-samsung provides the base for all the implementations, and is the | ||
| 49 | last in the line of include directories that are processed for the build | ||
| 50 | specific information. It contains the base clock, GPIO and device definitions | ||
| 51 | to get the system running. | ||
| 52 | |||
| 53 | plat-s3c is the s3c24xx/s3c64xx platform directory, although it is currently | ||
| 54 | involved in other builds this will be phased out once the relevant code is | ||
| 55 | moved elsewhere. | ||
| 56 | |||
| 57 | plat-s3c24xx is for s3c24xx specific builds, see the S3C24XX docs. | ||
| 58 | |||
| 59 | plat-s3c64xx is for the s3c64xx specific bits, see the S3C24XX docs. | ||
| 60 | |||
| 61 | plat-s5p is for s5p specific builds, more to be added. | ||
| 62 | |||
| 63 | |||
| 64 | [ to finish ] | ||
| 65 | |||
| 66 | |||
| 67 | Port Contributors | ||
| 68 | ----------------- | ||
| 69 | |||
| 70 | Ben Dooks (BJD) | ||
| 71 | Vincent Sanders | ||
| 72 | Herbert Potzl | ||
| 73 | Arnaud Patard (RTP) | ||
| 74 | Roc Wu | ||
| 75 | Klaus Fetscher | ||
| 76 | Dimitry Andric | ||
| 77 | Shannon Holland | ||
| 78 | Guillaume Gourat (NexVision) | ||
| 79 | Christer Weinigel (wingel) (Acer N30) | ||
| 80 | Lucas Correia Villa Real (S3C2400 port) | ||
| 81 | |||
| 82 | |||
| 83 | Document Author | ||
| 84 | --------------- | ||
| 85 | |||
| 86 | Copyright 2009-2010 Ben Dooks <ben-linux@fluff.org> | ||
| @@ -0,0 +1,167 @@ | |||
| 1 | #!/usr/bin/awk -f | ||
| 2 | # | ||
| 3 | # Copyright 2010 Ben Dooks <ben-linux@fluff.org> | ||
| 4 | # | ||
| 5 | # Released under GPLv2 | ||
| 6 | |||
| 7 | # example usage | ||
| 8 | # ./clksrc-change-registers.awk arch/arm/plat-s5pc1xx/include/plat/regs-clock.h < src > dst | ||
| 9 | |||
| 10 | function extract_value(s) | ||
| 11 | { | ||
| 12 | eqat = index(s, "=") | ||
| 13 | comat = index(s, ",") | ||
| 14 | return substr(s, eqat+2, (comat-eqat)-2) | ||
| 15 | } | ||
| 16 | |||
| 17 | function remove_brackets(b) | ||
| 18 | { | ||
| 19 | return substr(b, 2, length(b)-2) | ||
| 20 | } | ||
| 21 | |||
| 22 | function splitdefine(l, p) | ||
| 23 | { | ||
| 24 | r = split(l, tp) | ||
| 25 | |||
| 26 | p[0] = tp[2] | ||
| 27 | p[1] = remove_brackets(tp[3]) | ||
| 28 | } | ||
| 29 | |||
| 30 | function find_length(f) | ||
| 31 | { | ||
| 32 | if (0) | ||
| 33 | printf "find_length " f "\n" > "/dev/stderr" | ||
| 34 | |||
| 35 | if (f ~ /0x1/) | ||
| 36 | return 1 | ||
| 37 | else if (f ~ /0x3/) | ||
| 38 | return 2 | ||
| 39 | else if (f ~ /0x7/) | ||
| 40 | return 3 | ||
| 41 | else if (f ~ /0xf/) | ||
| 42 | return 4 | ||
| 43 | |||
| 44 | printf "unknown legnth " f "\n" > "/dev/stderr" | ||
| 45 | exit | ||
| 46 | } | ||
| 47 | |||
| 48 | function find_shift(s) | ||
| 49 | { | ||
| 50 | id = index(s, "<") | ||
| 51 | if (id <= 0) { | ||
| 52 | printf "cannot find shift " s "\n" > "/dev/stderr" | ||
| 53 | exit | ||
| 54 | } | ||
| 55 | |||
| 56 | return substr(s, id+2) | ||
| 57 | } | ||
| 58 | |||
| 59 | |||
| 60 | BEGIN { | ||
| 61 | if (ARGC < 2) { | ||
| 62 | print "too few arguments" > "/dev/stderr" | ||
| 63 | exit | ||
| 64 | } | ||
| 65 | |||
| 66 | # read the header file and find the mask values that we will need | ||
| 67 | # to replace and create an associative array of values | ||
| 68 | |||
| 69 | while (getline line < ARGV[1] > 0) { | ||
| 70 | if (line ~ /\#define.*_MASK/ && | ||
| 71 | !(line ~ /S5PC100_EPLL_MASK/) && | ||
| 72 | !(line ~ /USB_SIG_MASK/)) { | ||
| 73 | splitdefine(line, fields) | ||
| 74 | name = fields[0] | ||
| 75 | if (0) | ||
| 76 | printf "MASK " line "\n" > "/dev/stderr" | ||
| 77 | dmask[name,0] = find_length(fields[1]) | ||
| 78 | dmask[name,1] = find_shift(fields[1]) | ||
| 79 | if (0) | ||
| 80 | printf "=> '" name "' LENGTH=" dmask[name,0] " SHIFT=" dmask[name,1] "\n" > "/dev/stderr" | ||
| 81 | } else { | ||
| 82 | } | ||
| 83 | } | ||
| 84 | |||
| 85 | delete ARGV[1] | ||
| 86 | } | ||
| 87 | |||
| 88 | /clksrc_clk.*=.*{/ { | ||
| 89 | shift="" | ||
| 90 | mask="" | ||
| 91 | divshift="" | ||
| 92 | reg_div="" | ||
| 93 | reg_src="" | ||
| 94 | indent=1 | ||
| 95 | |||
| 96 | print $0 | ||
| 97 | |||
| 98 | for(; indent >= 1;) { | ||
| 99 | if ((getline line) <= 0) { | ||
| 100 | printf "unexpected end of file" > "/dev/stderr" | ||
| 101 | exit 1; | ||
| 102 | } | ||
| 103 | |||
| 104 | if (line ~ /\.shift/) { | ||
| 105 | shift = extract_value(line) | ||
| 106 | } else if (line ~ /\.mask/) { | ||
| 107 | mask = extract_value(line) | ||
| 108 | } else if (line ~ /\.reg_divider/) { | ||
| 109 | reg_div = extract_value(line) | ||
| 110 | } else if (line ~ /\.reg_source/) { | ||
| 111 | reg_src = extract_value(line) | ||
| 112 | } else if (line ~ /\.divider_shift/) { | ||
| 113 | divshift = extract_value(line) | ||
| 114 | } else if (line ~ /{/) { | ||
| 115 | indent++ | ||
| 116 | print line | ||
| 117 | } else if (line ~ /}/) { | ||
| 118 | indent-- | ||
| 119 | |||
| 120 | if (indent == 0) { | ||
| 121 | if (0) { | ||
| 122 | printf "shift '" shift "' ='" dmask[shift,0] "'\n" > "/dev/stderr" | ||
| 123 | printf "mask '" mask "'\n" > "/dev/stderr" | ||
| 124 | printf "dshft '" divshift "'\n" > "/dev/stderr" | ||
| 125 | printf "rdiv '" reg_div "'\n" > "/dev/stderr" | ||
| 126 | printf "rsrc '" reg_src "'\n" > "/dev/stderr" | ||
| 127 | } | ||
| 128 | |||
| 129 | generated = mask | ||
| 130 | sub(reg_src, reg_div, generated) | ||
| 131 | |||
| 132 | if (0) { | ||
| 133 | printf "/* rsrc " reg_src " */\n" | ||
| 134 | printf "/* rdiv " reg_div " */\n" | ||
| 135 | printf "/* shift " shift " */\n" | ||
| 136 | printf "/* mask " mask " */\n" | ||
| 137 | printf "/* generated " generated " */\n" | ||
| 138 | } | ||
| 139 | |||
| 140 | if (reg_div != "") { | ||
| 141 | printf "\t.reg_div = { " | ||
| 142 | printf ".reg = " reg_div ", " | ||
| 143 | printf ".shift = " dmask[generated,1] ", " | ||
| 144 | printf ".size = " dmask[generated,0] ", " | ||
| 145 | printf "},\n" | ||
| 146 | } | ||
| 147 | |||
| 148 | printf "\t.reg_src = { " | ||
| 149 | printf ".reg = " reg_src ", " | ||
| 150 | printf ".shift = " dmask[mask,1] ", " | ||
| 151 | printf ".size = " dmask[mask,0] ", " | ||
| 152 | |||
| 153 | printf "},\n" | ||
| 154 | |||
| 155 | } | ||
| 156 | |||
| 157 | print line | ||
| 158 | } else { | ||
| 159 | print line | ||
| 160 | } | ||
| 161 | |||
| 162 | if (0) | ||
| 163 | printf indent ":" line "\n" > "/dev/stderr" | ||
| 164 | } | ||
| 165 | } | ||
| 166 | |||
| 167 | // && ! /clksrc_clk.*=.*{/ { print $0 } | ||
| @@ -159,42 +159,7 @@ two arguments: the CDROM device, and the slot number to which you wish · 158 unmodified lines | |||
| 159 | to change. If the slot number is -1, the drive is unloaded. | 159 | to change. If the slot number is -1, the drive is unloaded. |
| 160 | 160 | ||
| 161 | 161 | ||
| 162 | 4. Compilation options | 162 | 4. Common problems |
| 163 | ---------------------- | ||
| 164 | |||
| 165 | There are a few additional options which can be set when compiling the | ||
| 166 | driver. Most people should not need to mess with any of these; they | ||
| 167 | are listed here simply for completeness. A compilation option can be | ||
| 168 | enabled by adding a line of the form `#define <option> 1' to the top | ||
| 169 | of ide-cd.c. All these options are disabled by default. | ||
| 170 | |||
| 171 | VERBOSE_IDE_CD_ERRORS | ||
| 172 | If this is set, ATAPI error codes will be translated into textual | ||
| 173 | descriptions. In addition, a dump is made of the command which | ||
| 174 | provoked the error. This is off by default to save the memory used | ||
| 175 | by the (somewhat long) table of error descriptions. | ||
| 176 | |||
| 177 | STANDARD_ATAPI | ||
| 178 | If this is set, the code needed to deal with certain drives which do | ||
| 179 | not properly implement the ATAPI spec will be disabled. If you know | ||
| 180 | your drive implements ATAPI properly, you can turn this on to get a | ||
| 181 | slightly smaller kernel. | ||
| 182 | |||
| 183 | NO_DOOR_LOCKING | ||
| 184 | If this is set, the driver will never attempt to lock the door of | ||
| 185 | the drive. | ||
| 186 | |||
| 187 | CDROM_NBLOCKS_BUFFER | ||
| 188 | This sets the size of the buffer to be used for a CDROMREADAUDIO | ||
| 189 | ioctl. The default is 8. | ||
| 190 | |||
| 191 | TEST | ||
| 192 | This currently enables an additional ioctl which enables a user-mode | ||
| 193 | program to execute an arbitrary packet command. See the source for | ||
| 194 | details. This should be left off unless you know what you're doing. | ||
| 195 | |||
| 196 | |||
| 197 | 5. Common problems | ||
| 198 | ------------------ | 163 | ------------------ |
| 199 | 164 | ||
| 200 | This section discusses some common problems encountered when trying to | 165 | This section discusses some common problems encountered when trying to |
| @@ -371,7 +336,7 @@ f. Data corruption. · 170 unmodified lines | |||
| 371 | expense of low system performance. | 336 | expense of low system performance. |
| 372 | 337 | ||
| 373 | 338 | ||
| 374 | 6. cdchange.c | 339 | 5. cdchange.c |
| 375 | ------------- | 340 | ------------- |
| 376 | 341 | ||
| 377 | /* | 342 | /* |
| @@ -0,0 +1,110 @@ | |||
| 1 | /* | ||
| 2 | * cgroup_event_listener.c - Simple listener of cgroup events | ||
| 3 | * | ||
| 4 | * Copyright (C) Kirill A. Shutemov <kirill@shutemov.name> | ||
| 5 | */ | ||
| 6 | |||
| 7 | #include <assert.h> | ||
| 8 | #include <errno.h> | ||
| 9 | #include <fcntl.h> | ||
| 10 | #include <libgen.h> | ||
| 11 | #include <limits.h> | ||
| 12 | #include <stdio.h> | ||
| 13 | #include <string.h> | ||
| 14 | #include <unistd.h> | ||
| 15 | |||
| 16 | #include <sys/eventfd.h> | ||
| 17 | |||
| 18 | #define USAGE_STR "Usage: cgroup_event_listener <path-to-control-file> <args>\n" | ||
| 19 | |||
| 20 | int main(int argc, char **argv) | ||
| 21 | { | ||
| 22 | int efd = -1; | ||
| 23 | int cfd = -1; | ||
| 24 | int event_control = -1; | ||
| 25 | char event_control_path[PATH_MAX]; | ||
| 26 | char line[LINE_MAX]; | ||
| 27 | int ret; | ||
| 28 | |||
| 29 | if (argc != 3) { | ||
| 30 | fputs(USAGE_STR, stderr); | ||
| 31 | return 1; | ||
| 32 | } | ||
| 33 | |||
| 34 | cfd = open(argv[1], O_RDONLY); | ||
| 35 | if (cfd == -1) { | ||
| 36 | fprintf(stderr, "Cannot open %s: %s\n", argv[1], | ||
| 37 | strerror(errno)); | ||
| 38 | goto out; | ||
| 39 | } | ||
| 40 | |||
| 41 | ret = snprintf(event_control_path, PATH_MAX, "%s/cgroup.event_control", | ||
| 42 | dirname(argv[1])); | ||
| 43 | if (ret >= PATH_MAX) { | ||
| 44 | fputs("Path to cgroup.event_control is too long\n", stderr); | ||
| 45 | goto out; | ||
| 46 | } | ||
| 47 | |||
| 48 | event_control = open(event_control_path, O_WRONLY); | ||
| 49 | if (event_control == -1) { | ||
| 50 | fprintf(stderr, "Cannot open %s: %s\n", event_control_path, | ||
| 51 | strerror(errno)); | ||
| 52 | goto out; | ||
| 53 | } | ||
| 54 | |||
| 55 | efd = eventfd(0, 0); | ||
| 56 | if (efd == -1) { | ||
| 57 | perror("eventfd() failed"); | ||
| 58 | goto out; | ||
| 59 | } | ||
| 60 | |||
| 61 | ret = snprintf(line, LINE_MAX, "%d %d %s", efd, cfd, argv[2]); | ||
| 62 | if (ret >= LINE_MAX) { | ||
| 63 | fputs("Arguments string is too long\n", stderr); | ||
| 64 | goto out; | ||
| 65 | } | ||
| 66 | |||
| 67 | ret = write(event_control, line, strlen(line) + 1); | ||
| 68 | if (ret == -1) { | ||
| 69 | perror("Cannot write to cgroup.event_control"); | ||
| 70 | goto out; | ||
| 71 | } | ||
| 72 | |||
| 73 | while (1) { | ||
| 74 | uint64_t result; | ||
| 75 | |||
| 76 | ret = read(efd, &result, sizeof(result)); | ||
| 77 | if (ret == -1) { | ||
| 78 | if (errno == EINTR) | ||
| 79 | continue; | ||
| 80 | perror("Cannot read from eventfd"); | ||
| 81 | break; | ||
| 82 | } | ||
| 83 | assert(ret == sizeof(result)); | ||
| 84 | |||
| 85 | ret = access(event_control_path, W_OK); | ||
| 86 | if ((ret == -1) && (errno == ENOENT)) { | ||
| 87 | puts("The cgroup seems to have removed."); | ||
| 88 | ret = 0; | ||
| 89 | break; | ||
| 90 | } | ||
| 91 | |||
| 92 | if (ret == -1) { | ||
| 93 | perror("cgroup.event_control " | ||
| 94 | "is not accessable any more"); | ||
| 95 | break; | ||
| 96 | } | ||
| 97 | |||
| 98 | printf("%s %s: crossed\n", argv[1], argv[2]); | ||
| 99 | } | ||
| 100 | |||
| 101 | out: | ||
| 102 | if (efd >= 0) | ||
| 103 | close(efd); | ||
| 104 | if (event_control >= 0) | ||
| 105 | close(event_control); | ||
| 106 | if (cfd >= 0) | ||
| 107 | close(cfd); | ||
| 108 | |||
| 109 | return (ret != 0); | ||
| 110 | } | ||
| @@ -22,6 +22,8 @@ CONTENTS: · 21 unmodified lines | |||
| 22 | 2. Usage Examples and Syntax | 22 | 2. Usage Examples and Syntax |
| 23 | 2.1 Basic Usage | 23 | 2.1 Basic Usage |
| 24 | 2.2 Attaching processes | 24 | 2.2 Attaching processes |
| 25 | 2.3 Mounting hierarchies by name | ||
| 26 | 2.4 Notification API | ||
| 25 | 3. Kernel API | 27 | 3. Kernel API |
| 26 | 3.1 Overview | 28 | 3.1 Overview |
| 27 | 3.2 Synchronization | 29 | 3.2 Synchronization |
| @@ -434,6 +436,25 @@ you give a subsystem a name. · 406 unmodified lines | |||
| 434 | The name of the subsystem appears as part of the hierarchy description | 436 | The name of the subsystem appears as part of the hierarchy description |
| 435 | in /proc/mounts and /proc/<pid>/cgroups. | 437 | in /proc/mounts and /proc/<pid>/cgroups. |
| 436 | 438 | ||
| 439 | 2.4 Notification API | ||
| 440 | -------------------- | ||
| 441 | |||
| 442 | There is mechanism which allows to get notifications about changing | ||
| 443 | status of a cgroup. | ||
| 444 | |||
| 445 | To register new notification handler you need: | ||
| 446 | - create a file descriptor for event notification using eventfd(2); | ||
| 447 | - open a control file to be monitored (e.g. memory.usage_in_bytes); | ||
| 448 | - write "<event_fd> <control_fd> <args>" to cgroup.event_control. | ||
| 449 | Interpretation of args is defined by control file implementation; | ||
| 450 | |||
| 451 | eventfd will be woken up by control file implementation or when the | ||
| 452 | cgroup is removed. | ||
| 453 | |||
| 454 | To unregister notification handler just close eventfd. | ||
| 455 | |||
| 456 | NOTE: Support of notifications should be implemented for the control | ||
| 457 | file. See documentation for the subsystem. | ||
| 437 | 458 | ||
| 438 | 3. Kernel API | 459 | 3. Kernel API |
| 439 | ============= | 460 | ============= |
| @@ -488,6 +509,11 @@ Each subsystem should: · 48 unmodified lines | |||
| 488 | - add an entry in linux/cgroup_subsys.h | 509 | - add an entry in linux/cgroup_subsys.h |
| 489 | - define a cgroup_subsys object called <name>_subsys | 510 | - define a cgroup_subsys object called <name>_subsys |
| 490 | 511 | ||
| 512 | If a subsystem can be compiled as a module, it should also have in its | ||
| 513 | module initcall a call to cgroup_load_subsys(), and in its exitcall a | ||
| 514 | call to cgroup_unload_subsys(). It should also set its_subsys.module = | ||
| 515 | THIS_MODULE in its .c file. | ||
| 516 | |||
| 491 | Each subsystem may export the following methods. The only mandatory | 517 | Each subsystem may export the following methods. The only mandatory |
| 492 | methods are create/destroy. Any others that are null are presumed to | 518 | methods are create/destroy. Any others that are null are presumed to |
| 493 | be successful no-ops. | 519 | be successful no-ops. |
| @@ -536,10 +562,21 @@ returns an error, this will abort the attach operation. If a NULL · 42 unmodified lines | |||
| 536 | task is passed, then a successful result indicates that *any* | 562 | task is passed, then a successful result indicates that *any* |
| 537 | unspecified task can be moved into the cgroup. Note that this isn't | 563 | unspecified task can be moved into the cgroup. Note that this isn't |
| 538 | called on a fork. If this method returns 0 (success) then this should | 564 | called on a fork. If this method returns 0 (success) then this should |
| 539 | remain valid while the caller holds cgroup_mutex. If threadgroup is | 565 | remain valid while the caller holds cgroup_mutex and it is ensured that either |
| 566 | attach() or cancel_attach() will be called in future. If threadgroup is | ||
| 540 | true, then a successful result indicates that all threads in the given | 567 | true, then a successful result indicates that all threads in the given |
| 541 | thread's threadgroup can be moved together. | 568 | thread's threadgroup can be moved together. |
| 542 | 569 | ||
| 570 | void cancel_attach(struct cgroup_subsys *ss, struct cgroup *cgrp, | ||
| 571 | struct task_struct *task, bool threadgroup) | ||
| 572 | (cgroup_mutex held by caller) | ||
| 573 | |||
| 574 | Called when a task attach operation has failed after can_attach() has succeeded. | ||
| 575 | A subsystem whose can_attach() has some side-effects should provide this | ||
| 576 | function, so that the subsytem can implement a rollback. If not, not necessary. | ||
| 577 | This will be called only about subsystems whose can_attach() operation have | ||
| 578 | succeeded. | ||
| 579 | |||
| 543 | void attach(struct cgroup_subsys *ss, struct cgroup *cgrp, | 580 | void attach(struct cgroup_subsys *ss, struct cgroup *cgrp, |
| 544 | struct cgroup *old_cgrp, struct task_struct *task, | 581 | struct cgroup *old_cgrp, struct task_struct *task, |
| 545 | bool threadgroup) | 582 | bool threadgroup) |
| @@ -168,20 +168,20 @@ Each cpuset is represented by a directory in the cgroup file system · 167 unmodified lines | |||
| 168 | containing (on top of the standard cgroup files) the following | 168 | containing (on top of the standard cgroup files) the following |
| 169 | files describing that cpuset: | 169 | files describing that cpuset: |
| 170 | 170 | ||
| 171 | - cpus: list of CPUs in that cpuset | 171 | - cpuset.cpus: list of CPUs in that cpuset |
| 172 | - mems: list of Memory Nodes in that cpuset | 172 | - cpuset.mems: list of Memory Nodes in that cpuset |
| 173 | - memory_migrate flag: if set, move pages to cpusets nodes | 173 | - cpuset.memory_migrate flag: if set, move pages to cpusets nodes |
| 174 | - cpu_exclusive flag: is cpu placement exclusive? | 174 | - cpuset.cpu_exclusive flag: is cpu placement exclusive? |
| 175 | - mem_exclusive flag: is memory placement exclusive? | 175 | - cpuset.mem_exclusive flag: is memory placement exclusive? |
| 176 | - mem_hardwall flag: is memory allocation hardwalled | 176 | - cpuset.mem_hardwall flag: is memory allocation hardwalled |
| 177 | - memory_pressure: measure of how much paging pressure in cpuset | 177 | - cpuset.memory_pressure: measure of how much paging pressure in cpuset |
| 178 | - memory_spread_page flag: if set, spread page cache evenly on allowed nodes | 178 | - cpuset.memory_spread_page flag: if set, spread page cache evenly on allowed nodes |
| 179 | - memory_spread_slab flag: if set, spread slab cache evenly on allowed nodes | 179 | - cpuset.memory_spread_slab flag: if set, spread slab cache evenly on allowed nodes |
| 180 | - sched_load_balance flag: if set, load balance within CPUs on that cpuset | 180 | - cpuset.sched_load_balance flag: if set, load balance within CPUs on that cpuset |
| 181 | - sched_relax_domain_level: the searching range when migrating tasks | 181 | - cpuset.sched_relax_domain_level: the searching range when migrating tasks |
| 182 | 182 | ||
| 183 | In addition, the root cpuset only has the following file: | 183 | In addition, the root cpuset only has the following file: |
| 184 | - memory_pressure_enabled flag: compute memory_pressure? | 184 | - cpuset.memory_pressure_enabled flag: compute memory_pressure? |
| 185 | 185 | ||
| 186 | New cpusets are created using the mkdir system call or shell | 186 | New cpusets are created using the mkdir system call or shell |
| 187 | command. The properties of a cpuset, such as its flags, allowed | 187 | command. The properties of a cpuset, such as its flags, allowed |
| @@ -229,7 +229,7 @@ If a cpuset is cpu or mem exclusive, no other cpuset, other than · 41 unmodified lines | |||
| 229 | a direct ancestor or descendant, may share any of the same CPUs or | 229 | a direct ancestor or descendant, may share any of the same CPUs or |
| 230 | Memory Nodes. | 230 | Memory Nodes. |
| 231 | 231 | ||
| 232 | A cpuset that is mem_exclusive *or* mem_hardwall is "hardwalled", | 232 | A cpuset that is cpuset.mem_exclusive *or* cpuset.mem_hardwall is "hardwalled", |
| 233 | i.e. it restricts kernel allocations for page, buffer and other data | 233 | i.e. it restricts kernel allocations for page, buffer and other data |
| 234 | commonly shared by the kernel across multiple users. All cpusets, | 234 | commonly shared by the kernel across multiple users. All cpusets, |
| 235 | whether hardwalled or not, restrict allocations of memory for user | 235 | whether hardwalled or not, restrict allocations of memory for user |
| @@ -304,15 +304,15 @@ times 1000. · 68 unmodified lines | |||
| 304 | --------------------------- | 304 | --------------------------- |
| 305 | There are two boolean flag files per cpuset that control where the | 305 | There are two boolean flag files per cpuset that control where the |
| 306 | kernel allocates pages for the file system buffers and related in | 306 | kernel allocates pages for the file system buffers and related in |
| 307 | kernel data structures. They are called 'memory_spread_page' and | 307 | kernel data structures. They are called 'cpuset.memory_spread_page' and |
| 308 | 'memory_spread_slab'. | 308 | 'cpuset.memory_spread_slab'. |
| 309 | 309 | ||
| 310 | If the per-cpuset boolean flag file 'memory_spread_page' is set, then | 310 | If the per-cpuset boolean flag file 'cpuset.memory_spread_page' is set, then |
| 311 | the kernel will spread the file system buffers (page cache) evenly | 311 | the kernel will spread the file system buffers (page cache) evenly |
| 312 | over all the nodes that the faulting task is allowed to use, instead | 312 | over all the nodes that the faulting task is allowed to use, instead |
| 313 | of preferring to put those pages on the node where the task is running. | 313 | of preferring to put those pages on the node where the task is running. |
| 314 | 314 | ||
| 315 | If the per-cpuset boolean flag file 'memory_spread_slab' is set, | 315 | If the per-cpuset boolean flag file 'cpuset.memory_spread_slab' is set, |
| 316 | then the kernel will spread some file system related slab caches, | 316 | then the kernel will spread some file system related slab caches, |
| 317 | such as for inodes and dentries evenly over all the nodes that the | 317 | such as for inodes and dentries evenly over all the nodes that the |
| 318 | faulting task is allowed to use, instead of preferring to put those | 318 | faulting task is allowed to use, instead of preferring to put those |
| @@ -337,21 +337,21 @@ their containing tasks memory spread settings. If memory spreading · 18 unmodified lines | |||
| 337 | is turned off, then the currently specified NUMA mempolicy once again | 337 | is turned off, then the currently specified NUMA mempolicy once again |
| 338 | applies to memory page allocations. | 338 | applies to memory page allocations. |
| 339 | 339 | ||
| 340 | Both 'memory_spread_page' and 'memory_spread_slab' are boolean flag | 340 | Both 'cpuset.memory_spread_page' and 'cpuset.memory_spread_slab' are boolean flag |
| 341 | files. By default they contain "0", meaning that the feature is off | 341 | files. By default they contain "0", meaning that the feature is off |
| 342 | for that cpuset. If a "1" is written to that file, then that turns | 342 | for that cpuset. If a "1" is written to that file, then that turns |
| 343 | the named feature on. | 343 | the named feature on. |
| 344 | 344 | ||
| 345 | The implementation is simple. | 345 | The implementation is simple. |
| 346 | 346 | ||
| 347 | Setting the flag 'memory_spread_page' turns on a per-process flag | 347 | Setting the flag 'cpuset.memory_spread_page' turns on a per-process flag |
| 348 | PF_SPREAD_PAGE for each task that is in that cpuset or subsequently | 348 | PF_SPREAD_PAGE for each task that is in that cpuset or subsequently |
| 349 | joins that cpuset. The page allocation calls for the page cache | 349 | joins that cpuset. The page allocation calls for the page cache |
| 350 | is modified to perform an inline check for this PF_SPREAD_PAGE task | 350 | is modified to perform an inline check for this PF_SPREAD_PAGE task |
| 351 | flag, and if set, a call to a new routine cpuset_mem_spread_node() | 351 | flag, and if set, a call to a new routine cpuset_mem_spread_node() |
| 352 | returns the node to prefer for the allocation. | 352 | returns the node to prefer for the allocation. |
| 353 | 353 | ||
| 354 | Similarly, setting 'memory_spread_slab' turns on the flag | 354 | Similarly, setting 'cpuset.memory_spread_slab' turns on the flag |
| 355 | PF_SPREAD_SLAB, and appropriately marked slab caches will allocate | 355 | PF_SPREAD_SLAB, and appropriately marked slab caches will allocate |
| 356 | pages from the node returned by cpuset_mem_spread_node(). | 356 | pages from the node returned by cpuset_mem_spread_node(). |
| 357 | 357 | ||
| @@ -404,24 +404,24 @@ the following two situations: · 46 unmodified lines | |||
| 404 | system overhead on those CPUs, including avoiding task load | 404 | system overhead on those CPUs, including avoiding task load |
| 405 | balancing if that is not needed. | 405 | balancing if that is not needed. |
| 406 | 406 | ||
| 407 | When the per-cpuset flag "sched_load_balance" is enabled (the default | 407 | When the per-cpuset flag "cpuset.sched_load_balance" is enabled (the default |
| 408 | setting), it requests that all the CPUs in that cpusets allowed 'cpus' | 408 | setting), it requests that all the CPUs in that cpusets allowed 'cpuset.cpus' |
| 409 | be contained in a single sched domain, ensuring that load balancing | 409 | be contained in a single sched domain, ensuring that load balancing |
| 410 | can move a task (not otherwised pinned, as by sched_setaffinity) | 410 | can move a task (not otherwised pinned, as by sched_setaffinity) |
| 411 | from any CPU in that cpuset to any other. | 411 | from any CPU in that cpuset to any other. |
| 412 | 412 | ||
| 413 | When the per-cpuset flag "sched_load_balance" is disabled, then the | 413 | When the per-cpuset flag "cpuset.sched_load_balance" is disabled, then the |
| 414 | scheduler will avoid load balancing across the CPUs in that cpuset, | 414 | scheduler will avoid load balancing across the CPUs in that cpuset, |
| 415 | --except-- in so far as is necessary because some overlapping cpuset | 415 | --except-- in so far as is necessary because some overlapping cpuset |
| 416 | has "sched_load_balance" enabled. | 416 | has "sched_load_balance" enabled. |
| 417 | 417 | ||
| 418 | So, for example, if the top cpuset has the flag "sched_load_balance" | 418 | So, for example, if the top cpuset has the flag "cpuset.sched_load_balance" |
| 419 | enabled, then the scheduler will have one sched domain covering all | 419 | enabled, then the scheduler will have one sched domain covering all |
| 420 | CPUs, and the setting of the "sched_load_balance" flag in any other | 420 | CPUs, and the setting of the "cpuset.sched_load_balance" flag in any other |
| 421 | cpusets won't matter, as we're already fully load balancing. | 421 | cpusets won't matter, as we're already fully load balancing. |
| 422 | 422 | ||
| 423 | Therefore in the above two situations, the top cpuset flag | 423 | Therefore in the above two situations, the top cpuset flag |
| 424 | "sched_load_balance" should be disabled, and only some of the smaller, | 424 | "cpuset.sched_load_balance" should be disabled, and only some of the smaller, |
| 425 | child cpusets have this flag enabled. | 425 | child cpusets have this flag enabled. |
| 426 | 426 | ||
| 427 | When doing this, you don't usually want to leave any unpinned tasks in | 427 | When doing this, you don't usually want to leave any unpinned tasks in |
| @@ -433,7 +433,7 @@ scheduler might not consider the possibility of load balancing that · 5 unmodified lines | |||
| 433 | task to that underused CPU. | 433 | task to that underused CPU. |
| 434 | 434 | ||
| 435 | Of course, tasks pinned to a particular CPU can be left in a cpuset | 435 | Of course, tasks pinned to a particular CPU can be left in a cpuset |
| 436 | that disables "sched_load_balance" as those tasks aren't going anywhere | 436 | that disables "cpuset.sched_load_balance" as those tasks aren't going anywhere |
| 437 | else anyway. | 437 | else anyway. |
| 438 | 438 | ||
| 439 | There is an impedance mismatch here, between cpusets and sched domains. | 439 | There is an impedance mismatch here, between cpusets and sched domains. |
| @@ -443,19 +443,19 @@ overlap and each CPU is in at most one sched domain. · 3 unmodified lines | |||
| 443 | It is necessary for sched domains to be flat because load balancing | 443 | It is necessary for sched domains to be flat because load balancing |
| 444 | across partially overlapping sets of CPUs would risk unstable dynamics | 444 | across partially overlapping sets of CPUs would risk unstable dynamics |
| 445 | that would be beyond our understanding. So if each of two partially | 445 | that would be beyond our understanding. So if each of two partially |
| 446 | overlapping cpusets enables the flag 'sched_load_balance', then we | 446 | overlapping cpusets enables the flag 'cpuset.sched_load_balance', then we |
| 447 | form a single sched domain that is a superset of both. We won't move | 447 | form a single sched domain that is a superset of both. We won't move |
| 448 | a task to a CPU outside it cpuset, but the scheduler load balancing | 448 | a task to a CPU outside it cpuset, but the scheduler load balancing |
| 449 | code might waste some compute cycles considering that possibility. | 449 | code might waste some compute cycles considering that possibility. |
| 450 | 450 | ||
| 451 | This mismatch is why there is not a simple one-to-one relation | 451 | This mismatch is why there is not a simple one-to-one relation |
| 452 | between which cpusets have the flag "sched_load_balance" enabled, | 452 | between which cpusets have the flag "cpuset.sched_load_balance" enabled, |
| 453 | and the sched domain configuration. If a cpuset enables the flag, it | 453 | and the sched domain configuration. If a cpuset enables the flag, it |
| 454 | will get balancing across all its CPUs, but if it disables the flag, | 454 | will get balancing across all its CPUs, but if it disables the flag, |
| 455 | it will only be assured of no load balancing if no other overlapping | 455 | it will only be assured of no load balancing if no other overlapping |
| 456 | cpuset enables the flag. | 456 | cpuset enables the flag. |
| 457 | 457 | ||
| 458 | If two cpusets have partially overlapping 'cpus' allowed, and only | 458 | If two cpusets have partially overlapping 'cpuset.cpus' allowed, and only |
| 459 | one of them has this flag enabled, then the other may find its | 459 | one of them has this flag enabled, then the other may find its |
| 460 | tasks only partially load balanced, just on the overlapping CPUs. | 460 | tasks only partially load balanced, just on the overlapping CPUs. |
| 461 | This is just the general case of the top_cpuset example given a few | 461 | This is just the general case of the top_cpuset example given a few |
| @@ -468,23 +468,23 @@ load balancing to the other CPUs. · 6 unmodified lines | |||
| 468 | 1.7.1 sched_load_balance implementation details. | 468 | 1.7.1 sched_load_balance implementation details. |
| 469 | ------------------------------------------------ | 469 | ------------------------------------------------ |
| 470 | 470 | ||
| 471 | The per-cpuset flag 'sched_load_balance' defaults to enabled (contrary | 471 | The per-cpuset flag 'cpuset.sched_load_balance' defaults to enabled (contrary |
| 472 | to most cpuset flags.) When enabled for a cpuset, the kernel will | 472 | to most cpuset flags.) When enabled for a cpuset, the kernel will |
| 473 | ensure that it can load balance across all the CPUs in that cpuset | 473 | ensure that it can load balance across all the CPUs in that cpuset |
| 474 | (makes sure that all the CPUs in the cpus_allowed of that cpuset are | 474 | (makes sure that all the CPUs in the cpus_allowed of that cpuset are |
| 475 | in the same sched domain.) | 475 | in the same sched domain.) |
| 476 | 476 | ||
| 477 | If two overlapping cpusets both have 'sched_load_balance' enabled, | 477 | If two overlapping cpusets both have 'cpuset.sched_load_balance' enabled, |
| 478 | then they will be (must be) both in the same sched domain. | 478 | then they will be (must be) both in the same sched domain. |
| 479 | 479 | ||
| 480 | If, as is the default, the top cpuset has 'sched_load_balance' enabled, | 480 | If, as is the default, the top cpuset has 'cpuset.sched_load_balance' enabled, |
| 481 | then by the above that means there is a single sched domain covering | 481 | then by the above that means there is a single sched domain covering |
| 482 | the whole system, regardless of any other cpuset settings. | 482 | the whole system, regardless of any other cpuset settings. |
| 483 | 483 | ||
| 484 | The kernel commits to user space that it will avoid load balancing | 484 | The kernel commits to user space that it will avoid load balancing |
| 485 | where it can. It will pick as fine a granularity partition of sched | 485 | where it can. It will pick as fine a granularity partition of sched |
| 486 | domains as it can while still providing load balancing for any set | 486 | domains as it can while still providing load balancing for any set |
| 487 | of CPUs allowed to a cpuset having 'sched_load_balance' enabled. | 487 | of CPUs allowed to a cpuset having 'cpuset.sched_load_balance' enabled. |
| 488 | 488 | ||
| 489 | The internal kernel cpuset to scheduler interface passes from the | 489 | The internal kernel cpuset to scheduler interface passes from the |
| 490 | cpuset code to the scheduler code a partition of the load balanced | 490 | cpuset code to the scheduler code a partition of the load balanced |
| @@ -495,9 +495,9 @@ all the CPUs that must be load balanced. · 4 unmodified lines | |||
| 495 | The cpuset code builds a new such partition and passes it to the | 495 | The cpuset code builds a new such partition and passes it to the |
| 496 | scheduler sched domain setup code, to have the sched domains rebuilt | 496 | scheduler sched domain setup code, to have the sched domains rebuilt |
| 497 | as necessary, whenever: | 497 | as necessary, whenever: |
| 498 | - the 'sched_load_balance' flag of a cpuset with non-empty CPUs changes, | 498 | - the 'cpuset.sched_load_balance' flag of a cpuset with non-empty CPUs changes, |
| 499 | - or CPUs come or go from a cpuset with this flag enabled, | 499 | - or CPUs come or go from a cpuset with this flag enabled, |
| 500 | - or 'sched_relax_domain_level' value of a cpuset with non-empty CPUs | 500 | - or 'cpuset.sched_relax_domain_level' value of a cpuset with non-empty CPUs |
| 501 | and with this flag enabled changes, | 501 | and with this flag enabled changes, |
| 502 | - or a cpuset with non-empty CPUs and with this flag enabled is removed, | 502 | - or a cpuset with non-empty CPUs and with this flag enabled is removed, |
| 503 | - or a cpu is offlined/onlined. | 503 | - or a cpu is offlined/onlined. |
| @@ -542,7 +542,7 @@ As the result, task B on CPU X need to wait task A or wait load balance · 38 unmodified lines | |||
| 542 | on the next tick. For some applications in special situation, waiting | 542 | on the next tick. For some applications in special situation, waiting |
| 543 | 1 tick may be too long. | 543 | 1 tick may be too long. |
| 544 | 544 | ||
| 545 | The 'sched_relax_domain_level' file allows you to request changing | 545 | The 'cpuset.sched_relax_domain_level' file allows you to request changing |
| 546 | this searching range as you like. This file takes int value which | 546 | this searching range as you like. This file takes int value which |
| 547 | indicates size of searching range in levels ideally as follows, | 547 | indicates size of searching range in levels ideally as follows, |
| 548 | otherwise initial value -1 that indicates the cpuset has no request. | 548 | otherwise initial value -1 that indicates the cpuset has no request. |
| @@ -559,8 +559,8 @@ The system default is architecture dependent. The system default · 10 unmodified lines | |||
| 559 | can be changed using the relax_domain_level= boot parameter. | 559 | can be changed using the relax_domain_level= boot parameter. |
| 560 | 560 | ||
| 561 | This file is per-cpuset and affect the sched domain where the cpuset | 561 | This file is per-cpuset and affect the sched domain where the cpuset |
| 562 | belongs to. Therefore if the flag 'sched_load_balance' of a cpuset | 562 | belongs to. Therefore if the flag 'cpuset.sched_load_balance' of a cpuset |
| 563 | is disabled, then 'sched_relax_domain_level' have no effect since | 563 | is disabled, then 'cpuset.sched_relax_domain_level' have no effect since |
| 564 | there is no sched domain belonging the cpuset. | 564 | there is no sched domain belonging the cpuset. |
| 565 | 565 | ||
| 566 | If multiple cpusets are overlapping and hence they form a single sched | 566 | If multiple cpusets are overlapping and hence they form a single sched |
| @@ -607,9 +607,9 @@ from one cpuset to another, then the kernel will adjust the tasks · 40 unmodified lines | |||
| 607 | memory placement, as above, the next time that the kernel attempts | 607 | memory placement, as above, the next time that the kernel attempts |
| 608 | to allocate a page of memory for that task. | 608 | to allocate a page of memory for that task. |
| 609 | 609 | ||
| 610 | If a cpuset has its 'cpus' modified, then each task in that cpuset | 610 | If a cpuset has its 'cpuset.cpus' modified, then each task in that cpuset |
| 611 | will have its allowed CPU placement changed immediately. Similarly, | 611 | will have its allowed CPU placement changed immediately. Similarly, |
| 612 | if a tasks pid is written to another cpusets 'tasks' file, then its | 612 | if a tasks pid is written to another cpusets 'cpuset.tasks' file, then its |
| 613 | allowed CPU placement is changed immediately. If such a task had been | 613 | allowed CPU placement is changed immediately. If such a task had been |
| 614 | bound to some subset of its cpuset using the sched_setaffinity() call, | 614 | bound to some subset of its cpuset using the sched_setaffinity() call, |
| 615 | the task will be allowed to run on any CPU allowed in its new cpuset, | 615 | the task will be allowed to run on any CPU allowed in its new cpuset, |
| @@ -622,8 +622,8 @@ and the processor placement is updated immediately. · 6 unmodified lines | |||
| 622 | Normally, once a page is allocated (given a physical page | 622 | Normally, once a page is allocated (given a physical page |
| 623 | of main memory) then that page stays on whatever node it | 623 | of main memory) then that page stays on whatever node it |
| 624 | was allocated, so long as it remains allocated, even if the | 624 | was allocated, so long as it remains allocated, even if the |
| 625 | cpusets memory placement policy 'mems' subsequently changes. | 625 | cpusets memory placement policy 'cpuset.mems' subsequently changes. |
| 626 | If the cpuset flag file 'memory_migrate' is set true, then when | 626 | If the cpuset flag file 'cpuset.memory_migrate' is set true, then when |
| 627 | tasks are attached to that cpuset, any pages that task had | 627 | tasks are attached to that cpuset, any pages that task had |
| 628 | allocated to it on nodes in its previous cpuset are migrated | 628 | allocated to it on nodes in its previous cpuset are migrated |
| 629 | to the tasks new cpuset. The relative placement of the page within | 629 | to the tasks new cpuset. The relative placement of the page within |
| @@ -631,12 +631,12 @@ the cpuset is preserved during these migration operations if possible. · 1 unmodified line | |||
| 631 | For example if the page was on the second valid node of the prior cpuset | 631 | For example if the page was on the second valid node of the prior cpuset |
| 632 | then the page will be placed on the second valid node of the new cpuset. | 632 | then the page will be placed on the second valid node of the new cpuset. |
| 633 | 633 | ||
| 634 | Also if 'memory_migrate' is set true, then if that cpusets | 634 | Also if 'cpuset.memory_migrate' is set true, then if that cpusets |
| 635 | 'mems' file is modified, pages allocated to tasks in that | 635 | 'cpuset.mems' file is modified, pages allocated to tasks in that |
| 636 | cpuset, that were on nodes in the previous setting of 'mems', | 636 | cpuset, that were on nodes in the previous setting of 'cpuset.mems', |
| 637 | will be moved to nodes in the new setting of 'mems.' | 637 | will be moved to nodes in the new setting of 'mems.' |
| 638 | Pages that were not in the tasks prior cpuset, or in the cpusets | 638 | Pages that were not in the tasks prior cpuset, or in the cpusets |
| 639 | prior 'mems' setting, will not be moved. | 639 | prior 'cpuset.mems' setting, will not be moved. |
| 640 | 640 | ||
| 641 | There is an exception to the above. If hotplug functionality is used | 641 | There is an exception to the above. If hotplug functionality is used |
| 642 | to remove all the CPUs that are currently assigned to a cpuset, | 642 | to remove all the CPUs that are currently assigned to a cpuset, |
| @@ -678,8 +678,8 @@ and then start a subshell 'sh' in that cpuset: · 35 unmodified lines | |||
| 678 | cd /dev/cpuset | 678 | cd /dev/cpuset |
| 679 | mkdir Charlie | 679 | mkdir Charlie |
| 680 | cd Charlie | 680 | cd Charlie |
| 681 | /bin/echo 2-3 > cpus | 681 | /bin/echo 2-3 > cpuset.cpus |
| 682 | /bin/echo 1 > mems | 682 | /bin/echo 1 > cpuset.mems |
| 683 | /bin/echo $$ > tasks | 683 | /bin/echo $$ > tasks |
| 684 | sh | 684 | sh |
| 685 | # The subshell 'sh' is now running in cpuset Charlie | 685 | # The subshell 'sh' is now running in cpuset Charlie |
| @@ -725,10 +725,13 @@ Now you want to do something with this cpuset. · 39 unmodified lines | |||
| 725 | 725 | ||
| 726 | In this directory you can find several files: | 726 | In this directory you can find several files: |
| 727 | # ls | 727 | # ls |
| 728 | cpu_exclusive memory_migrate mems tasks | 728 | cpuset.cpu_exclusive cpuset.memory_spread_slab |
| 729 | cpus memory_pressure notify_on_release | 729 | cpuset.cpus cpuset.mems |
| 730 | mem_exclusive memory_spread_page sched_load_balance | 730 | cpuset.mem_exclusive cpuset.sched_load_balance |
| 731 | mem_hardwall memory_spread_slab sched_relax_domain_level | 731 | cpuset.mem_hardwall cpuset.sched_relax_domain_level |
| 732 | cpuset.memory_migrate notify_on_release | ||
| 733 | cpuset.memory_pressure tasks | ||
| 734 | cpuset.memory_spread_page | ||
| 732 | 735 | ||
| 733 | Reading them will give you information about the state of this cpuset: | 736 | Reading them will give you information about the state of this cpuset: |
| 734 | the CPUs and Memory Nodes it can use, the processes that are using | 737 | the CPUs and Memory Nodes it can use, the processes that are using |
| @@ -736,13 +739,13 @@ it, its properties. By writing to these files you can manipulate · 1 unmodified line | |||
| 736 | the cpuset. | 739 | the cpuset. |
| 737 | 740 | ||
| 738 | Set some flags: | 741 | Set some flags: |
| 739 | # /bin/echo 1 > cpu_exclusive | 742 | # /bin/echo 1 > cpuset.cpu_exclusive |
| 740 | 743 | ||
| 741 | Add some cpus: | 744 | Add some cpus: |
| 742 | # /bin/echo 0-7 > cpus | 745 | # /bin/echo 0-7 > cpuset.cpus |
| 743 | 746 | ||
| 744 | Add some mems: | 747 | Add some mems: |
| 745 | # /bin/echo 0-7 > mems | 748 | # /bin/echo 0-7 > cpuset.mems |
| 746 | 749 | ||
| 747 | Now attach your shell to this cpuset: | 750 | Now attach your shell to this cpuset: |
| 748 | # /bin/echo $$ > tasks | 751 | # /bin/echo $$ > tasks |
| @@ -774,28 +777,28 @@ echo "/sbin/cpuset_release_agent" > /dev/cpuset/release_agent · 25 unmodified lines | |||
| 774 | This is the syntax to use when writing in the cpus or mems files | 777 | This is the syntax to use when writing in the cpus or mems files |
| 775 | in cpuset directories: | 778 | in cpuset directories: |
| 776 | 779 | ||
| 777 | # /bin/echo 1-4 > cpus -> set cpus list to cpus 1,2,3,4 | 780 | # /bin/echo 1-4 > cpuset.cpus -> set cpus list to cpus 1,2,3,4 |
| 778 | # /bin/echo 1,2,3,4 > cpus -> set cpus list to cpus 1,2,3,4 | 781 | # /bin/echo 1,2,3,4 > cpuset.cpus -> set cpus list to cpus 1,2,3,4 |
| 779 | 782 | ||
| 780 | To add a CPU to a cpuset, write the new list of CPUs including the | 783 | To add a CPU to a cpuset, write the new list of CPUs including the |
| 781 | CPU to be added. To add 6 to the above cpuset: | 784 | CPU to be added. To add 6 to the above cpuset: |
| 782 | 785 | ||
| 783 | # /bin/echo 1-4,6 > cpus -> set cpus list to cpus 1,2,3,4,6 | 786 | # /bin/echo 1-4,6 > cpuset.cpus -> set cpus list to cpus 1,2,3,4,6 |
| 784 | 787 | ||
| 785 | Similarly to remove a CPU from a cpuset, write the new list of CPUs | 788 | Similarly to remove a CPU from a cpuset, write the new list of CPUs |
| 786 | without the CPU to be removed. | 789 | without the CPU to be removed. |
| 787 | 790 | ||
| 788 | To remove all the CPUs: | 791 | To remove all the CPUs: |
| 789 | 792 | ||
| 790 | # /bin/echo "" > cpus -> clear cpus list | 793 | # /bin/echo "" > cpuset.cpus -> clear cpus list |
| 791 | 794 | ||
| 792 | 2.3 Setting flags | 795 | 2.3 Setting flags |
| 793 | ----------------- | 796 | ----------------- |
| 794 | 797 | ||
| 795 | The syntax is very simple: | 798 | The syntax is very simple: |
| 796 | 799 | ||
| 797 | # /bin/echo 1 > cpu_exclusive -> set flag 'cpu_exclusive' | 800 | # /bin/echo 1 > cpuset.cpu_exclusive -> set flag 'cpuset.cpu_exclusive' |
| 798 | # /bin/echo 0 > cpu_exclusive -> unset flag 'cpu_exclusive' | 801 | # /bin/echo 0 > cpuset.cpu_exclusive -> unset flag 'cpuset.cpu_exclusive' |
| 799 | 802 | ||
| 800 | 2.4 Attaching processes | 803 | 2.4 Attaching processes |
| 801 | ----------------------- | 804 | ----------------------- |
| @@ -1,6 +1,6 @@ | |||
| 1 | Memory Resource Controller(Memcg) Implementation Memo. | 1 | Memory Resource Controller(Memcg) Implementation Memo. |
| 2 | Last Updated: 2009/1/20 | 2 | Last Updated: 2010/2 |
| 3 | Base Kernel Version: based on 2.6.29-rc2. | 3 | Base Kernel Version: based on 2.6.33-rc7-mm(candidate for 34). |
| 4 | 4 | ||
| 5 | Because VM is getting complex (one of reasons is memcg...), memcg's behavior | 5 | Because VM is getting complex (one of reasons is memcg...), memcg's behavior |
| 6 | is complex. This is a document for memcg's internal behavior. | 6 | is complex. This is a document for memcg's internal behavior. |
| @@ -337,7 +337,7 @@ Under below explanation, we assume CONFIG_MEM_RES_CTRL_SWAP=y. · 330 unmodified lines | |||
| 337 | race and lock dependency with other cgroup subsystems. | 337 | race and lock dependency with other cgroup subsystems. |
| 338 | 338 | ||
| 339 | example) | 339 | example) |
| 340 | # mount -t cgroup none /cgroup -t cpuset,memory,cpu,devices | 340 | # mount -t cgroup none /cgroup -o cpuset,memory,cpu,devices |
| 341 | 341 | ||
| 342 | and do task move, mkdir, rmdir etc...under this. | 342 | and do task move, mkdir, rmdir etc...under this. |
| 343 | 343 | ||
| @@ -348,7 +348,7 @@ Under below explanation, we assume CONFIG_MEM_RES_CTRL_SWAP=y. · 4 unmodified lines | |||
| 348 | 348 | ||
| 349 | For example, test like following is good. | 349 | For example, test like following is good. |
| 350 | (Shell-A) | 350 | (Shell-A) |
| 351 | # mount -t cgroup none /cgroup -t memory | 351 | # mount -t cgroup none /cgroup -o memory |
| 352 | # mkdir /cgroup/test | 352 | # mkdir /cgroup/test |
| 353 | # echo 40M > /cgroup/test/memory.limit_in_bytes | 353 | # echo 40M > /cgroup/test/memory.limit_in_bytes |
| 354 | # echo 0 > /cgroup/test/tasks | 354 | # echo 0 > /cgroup/test/tasks |
| @@ -378,3 +378,42 @@ Under below explanation, we assume CONFIG_MEM_RES_CTRL_SWAP=y. · 23 unmodified lines | |||
| 378 | #echo 50M > memory.limit_in_bytes | 378 | #echo 50M > memory.limit_in_bytes |
| 379 | #echo 50M > memory.memsw.limit_in_bytes | 379 | #echo 50M > memory.memsw.limit_in_bytes |
| 380 | run 51M of malloc | 380 | run 51M of malloc |
| 381 | |||
| 382 | 9.9 Move charges at task migration | ||
| 383 | Charges associated with a task can be moved along with task migration. | ||
| 384 | |||
| 385 | (Shell-A) | ||
| 386 | #mkdir /cgroup/A | ||
| 387 | #echo $$ >/cgroup/A/tasks | ||
| 388 | run some programs which uses some amount of memory in /cgroup/A. | ||
| 389 | |||
| 390 | (Shell-B) | ||
| 391 | #mkdir /cgroup/B | ||
| 392 | #echo 1 >/cgroup/B/memory.move_charge_at_immigrate | ||
| 393 | #echo "pid of the program running in group A" >/cgroup/B/tasks | ||
| 394 | |||
| 395 | You can see charges have been moved by reading *.usage_in_bytes or | ||
| 396 | memory.stat of both A and B. | ||
| 397 | See 8.2 of Documentation/cgroups/memory.txt to see what value should be | ||
| 398 | written to move_charge_at_immigrate. | ||
| 399 | |||
| 400 | 9.10 Memory thresholds | ||
| 401 | Memory controler implements memory thresholds using cgroups notification | ||
| 402 | API. You can use Documentation/cgroups/cgroup_event_listener.c to test | ||
| 403 | it. | ||
| 404 | |||
| 405 | (Shell-A) Create cgroup and run event listener | ||
| 406 | # mkdir /cgroup/A | ||
| 407 | # ./cgroup_event_listener /cgroup/A/memory.usage_in_bytes 5M | ||
| 408 | |||
| 409 | (Shell-B) Add task to cgroup and try to allocate and free memory | ||
| 410 | # echo $$ >/cgroup/A/tasks | ||
| 411 | # a="$(dd if=/dev/zero bs=1M count=10)" | ||
| 412 | # a= | ||
| 413 | |||
| 414 | You will see message from cgroup_event_listener every time you cross | ||
| 415 | the thresholds. | ||
| 416 | |||
| 417 | Use /cgroup/A/memory.memsw.usage_in_bytes to test memsw thresholds. | ||
| 418 | |||
| 419 | It's good idea to test root cgroup as well. | ||
| @@ -182,6 +182,8 @@ list. · 181 unmodified lines | |||
| 182 | NOTE: Reclaim does not work for the root cgroup, since we cannot set any | 182 | NOTE: Reclaim does not work for the root cgroup, since we cannot set any |
| 183 | limits on the root cgroup. | 183 | limits on the root cgroup. |
| 184 | 184 | ||
| 185 | Note2: When panic_on_oom is set to "2", the whole system will panic. | ||
| 186 | |||
| 185 | 2. Locking | 187 | 2. Locking |
| 186 | 188 | ||
| 187 | The memory controller uses the following hierarchy | 189 | The memory controller uses the following hierarchy |
| @@ -262,10 +264,12 @@ some of the pages cached in the cgroup (page cache pages). · 74 unmodified lines | |||
| 262 | 4.2 Task migration | 264 | 4.2 Task migration |
| 263 | 265 | ||
| 264 | When a task migrates from one cgroup to another, it's charge is not | 266 | When a task migrates from one cgroup to another, it's charge is not |
| 265 | carried forward. The pages allocated from the original cgroup still | 267 | carried forward by default. The pages allocated from the original cgroup still |
| 266 | remain charged to it, the charge is dropped when the page is freed or | 268 | remain charged to it, the charge is dropped when the page is freed or |
| 267 | reclaimed. | 269 | reclaimed. |
| 268 | 270 | ||
| 271 | Note: You can move charges of a task along with task migration. See 8. | ||
| 272 | |||
| 269 | 4.3 Removing a cgroup | 273 | 4.3 Removing a cgroup |
| 270 | 274 | ||
| 271 | A cgroup can be removed by rmdir, but as discussed in sections 4.1 and 4.2, a | 275 | A cgroup can be removed by rmdir, but as discussed in sections 4.1 and 4.2, a |
| @@ -336,7 +340,7 @@ Note: · 64 unmodified lines | |||
| 336 | 5.3 swappiness | 340 | 5.3 swappiness |
| 337 | Similar to /proc/sys/vm/swappiness, but affecting a hierarchy of groups only. | 341 | Similar to /proc/sys/vm/swappiness, but affecting a hierarchy of groups only. |
| 338 | 342 | ||
| 339 | Following cgroups' swapiness can't be changed. | 343 | Following cgroups' swappiness can't be changed. |
| 340 | - root cgroup (uses /proc/sys/vm/swappiness). | 344 | - root cgroup (uses /proc/sys/vm/swappiness). |
| 341 | - a cgroup which uses hierarchy and it has child cgroup. | 345 | - a cgroup which uses hierarchy and it has child cgroup. |
| 342 | - a cgroup which uses hierarchy and not the root of hierarchy. | 346 | - a cgroup which uses hierarchy and not the root of hierarchy. |
| @@ -377,7 +381,8 @@ The feature can be disabled by · 34 unmodified lines | |||
| 377 | NOTE1: Enabling/disabling will fail if the cgroup already has other | 381 | NOTE1: Enabling/disabling will fail if the cgroup already has other |
| 378 | cgroups created below it. | 382 | cgroups created below it. |
| 379 | 383 | ||
| 380 | NOTE2: This feature can be enabled/disabled per subtree. | 384 | NOTE2: When panic_on_oom is set to "2", the whole system will panic in |
| 385 | case of an oom event in any cgroup. | ||
| 381 | 386 | ||
| 382 | 7. Soft limits | 387 | 7. Soft limits |
| 383 | 388 | ||
| @@ -414,7 +419,76 @@ NOTE1: Soft limits take effect over a long period of time, since they involve · 30 unmodified lines | |||
| 414 | NOTE2: It is recommended to set the soft limit always below the hard limit, | 419 | NOTE2: It is recommended to set the soft limit always below the hard limit, |
| 415 | otherwise the hard limit will take precedence. | 420 | otherwise the hard limit will take precedence. |
| 416 | 421 | ||
| 417 | 8. TODO | 422 | 8. Move charges at task migration |
| 423 | |||
| 424 | Users can move charges associated with a task along with task migration, that | ||
| 425 | is, uncharge task's pages from the old cgroup and charge them to the new cgroup. | ||
| 426 | This feature is not supported in !CONFIG_MMU environments because of lack of | ||
| 427 | page tables. | ||
| 428 | |||
| 429 | 8.1 Interface | ||
| 430 | |||
| 431 | This feature is disabled by default. It can be enabled(and disabled again) by | ||
| 432 | writing to memory.move_charge_at_immigrate of the destination cgroup. | ||
| 433 | |||
| 434 | If you want to enable it: | ||
| 435 | |||
| 436 | # echo (some positive value) > memory.move_charge_at_immigrate | ||
| 437 | |||
| 438 | Note: Each bits of move_charge_at_immigrate has its own meaning about what type | ||
| 439 | of charges should be moved. See 8.2 for details. | ||
| 440 | Note: Charges are moved only when you move mm->owner, IOW, a leader of a thread | ||
| 441 | group. | ||
| 442 | Note: If we cannot find enough space for the task in the destination cgroup, we | ||
| 443 | try to make space by reclaiming memory. Task migration may fail if we | ||
| 444 | cannot make enough space. | ||
| 445 | Note: It can take several seconds if you move charges in giga bytes order. | ||
| 446 | |||
| 447 | And if you want disable it again: | ||
| 448 | |||
| 449 | # echo 0 > memory.move_charge_at_immigrate | ||
| 450 | |||
| 451 | 8.2 Type of charges which can be move | ||
| 452 | |||
| 453 | Each bits of move_charge_at_immigrate has its own meaning about what type of | ||
| 454 | charges should be moved. | ||
| 455 | |||
| 456 | bit | what type of charges would be moved ? | ||
| 457 | -----+------------------------------------------------------------------------ | ||
| 458 | 0 | A charge of an anonymous page(or swap of it) used by the target task. | ||
| 459 | | Those pages and swaps must be used only by the target task. You must | ||
| 460 | | enable Swap Extension(see 2.4) to enable move of swap charges. | ||
| 461 | |||
| 462 | Note: Those pages and swaps must be charged to the old cgroup. | ||
| 463 | Note: More type of pages(e.g. file cache, shmem,) will be supported by other | ||
| 464 | bits in future. | ||
| 465 | |||
| 466 | 8.3 TODO | ||
| 467 | |||
| 468 | - Add support for other types of pages(e.g. file cache, shmem, etc.). | ||
| 469 | - Implement madvise(2) to let users decide the vma to be moved or not to be | ||
| 470 | moved. | ||
| 471 | - All of moving charge operations are done under cgroup_mutex. It's not good | ||
| 472 | behavior to hold the mutex too long, so we may need some trick. | ||
| 473 | |||
| 474 | 9. Memory thresholds | ||
| 475 | |||
| 476 | Memory controler implements memory thresholds using cgroups notification | ||
| 477 | API (see cgroups.txt). It allows to register multiple memory and memsw | ||
| 478 | thresholds and gets notifications when it crosses. | ||
| 479 | |||
| 480 | To register a threshold application need: | ||
| 481 | - create an eventfd using eventfd(2); | ||
| 482 | - open memory.usage_in_bytes or memory.memsw.usage_in_bytes; | ||
| 483 | - write string like "<event_fd> <memory.usage_in_bytes> <threshold>" to | ||
| 484 | cgroup.event_control. | ||
| 485 | |||
| 486 | Application will be notified through eventfd when memory usage crosses | ||
| 487 | threshold in any direction. | ||
| 488 | |||
| 489 | It's applicable for root and non-root cgroup. | ||
| 490 | |||
| 491 | 10. TODO | ||
| 418 | 492 | ||
| 419 | 1. Add support for accounting huge pages (as a separate controller) | 493 | 1. Add support for accounting huge pages (as a separate controller) |
| 420 | 2. Make per-cgroup scanner reclaim not-shared pages first | 494 | 2. Make per-cgroup scanner reclaim not-shared pages first |
| @@ -0,0 +1,234 @@ | |||
| 1 | ================ | ||
| 2 | CIRCULAR BUFFERS | ||
| 3 | ================ | ||
| 4 | |||
| 5 | By: David Howells <dhowells@redhat.com> | ||
| 6 | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | ||
| 7 | |||
| 8 | |||
| 9 | Linux provides a number of features that can be used to implement circular | ||
| 10 | buffering. There are two sets of such features: | ||
| 11 | |||
| 12 | (1) Convenience functions for determining information about power-of-2 sized | ||
| 13 | buffers. | ||
| 14 | |||
| 15 | (2) Memory barriers for when the producer and the consumer of objects in the | ||
| 16 | buffer don't want to share a lock. | ||
| 17 | |||
| 18 | To use these facilities, as discussed below, there needs to be just one | ||
| 19 | producer and just one consumer. It is possible to handle multiple producers by | ||
| 20 | serialising them, and to handle multiple consumers by serialising them. | ||
| 21 | |||
| 22 | |||
| 23 | Contents: | ||
| 24 | |||
| 25 | (*) What is a circular buffer? | ||
| 26 | |||
| 27 | (*) Measuring power-of-2 buffers. | ||
| 28 | |||
| 29 | (*) Using memory barriers with circular buffers. | ||
| 30 | - The producer. | ||
| 31 | - The consumer. | ||
| 32 | |||
| 33 | |||
| 34 | ========================== | ||
| 35 | WHAT IS A CIRCULAR BUFFER? | ||
| 36 | ========================== | ||
| 37 | |||
| 38 | First of all, what is a circular buffer? A circular buffer is a buffer of | ||
| 39 | fixed, finite size into which there are two indices: | ||
| 40 | |||
| 41 | (1) A 'head' index - the point at which the producer inserts items into the | ||
| 42 | buffer. | ||
| 43 | |||
| 44 | (2) A 'tail' index - the point at which the consumer finds the next item in | ||
| 45 | the buffer. | ||
| 46 | |||
| 47 | Typically when the tail pointer is equal to the head pointer, the buffer is | ||
| 48 | empty; and the buffer is full when the head pointer is one less than the tail | ||
| 49 | pointer. | ||
| 50 | |||
| 51 | The head index is incremented when items are added, and the tail index when | ||
| 52 | items are removed. The tail index should never jump the head index, and both | ||
| 53 | indices should be wrapped to 0 when they reach the end of the buffer, thus | ||
| 54 | allowing an infinite amount of data to flow through the buffer. | ||
| 55 | |||
| 56 | Typically, items will all be of the same unit size, but this isn't strictly | ||
| 57 | required to use the techniques below. The indices can be increased by more | ||
| 58 | than 1 if multiple items or variable-sized items are to be included in the | ||
| 59 | buffer, provided that neither index overtakes the other. The implementer must | ||
| 60 | be careful, however, as a region more than one unit in size may wrap the end of | ||
| 61 | the buffer and be broken into two segments. | ||
| 62 | |||
| 63 | |||
| 64 | ============================ | ||
| 65 | MEASURING POWER-OF-2 BUFFERS | ||
| 66 | ============================ | ||
| 67 | |||
| 68 | Calculation of the occupancy or the remaining capacity of an arbitrarily sized | ||
| 69 | circular buffer would normally be a slow operation, requiring the use of a | ||
| 70 | modulus (divide) instruction. However, if the buffer is of a power-of-2 size, | ||
| 71 | then a much quicker bitwise-AND instruction can be used instead. | ||
| 72 | |||
| 73 | Linux provides a set of macros for handling power-of-2 circular buffers. These | ||
| 74 | can be made use of by: | ||
| 75 | |||
| 76 | #include <linux/circ_buf.h> | ||
| 77 | |||
| 78 | The macros are: | ||
| 79 | |||
| 80 | (*) Measure the remaining capacity of a buffer: | ||
| 81 | |||
| 82 | CIRC_SPACE(head_index, tail_index, buffer_size); | ||
| 83 | |||
| 84 | This returns the amount of space left in the buffer[1] into which items | ||
| 85 | can be inserted. | ||
| 86 | |||
| 87 | |||
| 88 | (*) Measure the maximum consecutive immediate space in a buffer: | ||
| 89 | |||
| 90 | CIRC_SPACE_TO_END(head_index, tail_index, buffer_size); | ||
| 91 | |||
| 92 | This returns the amount of consecutive space left in the buffer[1] into | ||
| 93 | which items can be immediately inserted without having to wrap back to the | ||
| 94 | beginning of the buffer. | ||
| 95 | |||
| 96 | |||
| 97 | (*) Measure the occupancy of a buffer: | ||
| 98 | |||
| 99 | CIRC_CNT(head_index, tail_index, buffer_size); | ||
| 100 | |||
| 101 | This returns the number of items currently occupying a buffer[2]. | ||
| 102 | |||
| 103 | |||
| 104 | (*) Measure the non-wrapping occupancy of a buffer: | ||
| 105 | |||
| 106 | CIRC_CNT_TO_END(head_index, tail_index, buffer_size); | ||
| 107 | |||
| 108 | This returns the number of consecutive items[2] that can be extracted from | ||
| 109 | the buffer without having to wrap back to the beginning of the buffer. | ||
| 110 | |||
| 111 | |||
| 112 | Each of these macros will nominally return a value between 0 and buffer_size-1, | ||
| 113 | however: | ||
| 114 | |||
| 115 | [1] CIRC_SPACE*() are intended to be used in the producer. To the producer | ||
| 116 | they will return a lower bound as the producer controls the head index, | ||
| 117 | but the consumer may still be depleting the buffer on another CPU and | ||
| 118 | moving the tail index. | ||
| 119 | |||
| 120 | To the consumer it will show an upper bound as the producer may be busy | ||
| 121 | depleting the space. | ||
| 122 | |||
| 123 | [2] CIRC_CNT*() are intended to be used in the consumer. To the consumer they | ||
| 124 | will return a lower bound as the consumer controls the tail index, but the | ||
| 125 | producer may still be filling the buffer on another CPU and moving the | ||
| 126 | head index. | ||
| 127 | |||
| 128 | To the producer it will show an upper bound as the consumer may be busy | ||
| 129 | emptying the buffer. | ||
| 130 | |||
| 131 | [3] To a third party, the order in which the writes to the indices by the | ||
| 132 | producer and consumer become visible cannot be guaranteed as they are | ||
| 133 | independent and may be made on different CPUs - so the result in such a | ||
| 134 | situation will merely be a guess, and may even be negative. | ||
| 135 | |||
| 136 | |||
| 137 | =========================================== | ||
| 138 | USING MEMORY BARRIERS WITH CIRCULAR BUFFERS | ||
| 139 | =========================================== | ||
| 140 | |||
| 141 | By using memory barriers in conjunction with circular buffers, you can avoid | ||
| 142 | the need to: | ||
| 143 | |||
| 144 | (1) use a single lock to govern access to both ends of the buffer, thus | ||
| 145 | allowing the buffer to be filled and emptied at the same time; and | ||
| 146 | |||
| 147 | (2) use atomic counter operations. | ||
| 148 | |||
| 149 | There are two sides to this: the producer that fills the buffer, and the | ||
| 150 | consumer that empties it. Only one thing should be filling a buffer at any one | ||
| 151 | time, and only one thing should be emptying a buffer at any one time, but the | ||
| 152 | two sides can operate simultaneously. | ||
| 153 | |||
| 154 | |||
| 155 | THE PRODUCER | ||
| 156 | ------------ | ||
| 157 | |||
| 158 | The producer will look something like this: | ||
| 159 | |||
| 160 | spin_lock(&producer_lock); | ||
| 161 | |||
| 162 | unsigned long head = buffer->head; | ||
| 163 | unsigned long tail = ACCESS_ONCE(buffer->tail); | ||
| 164 | |||
| 165 | if (CIRC_SPACE(head, tail, buffer->size) >= 1) { | ||
| 166 | /* insert one item into the buffer */ | ||
| 167 | struct item *item = buffer[head]; | ||
| 168 | |||
| 169 | produce_item(item); | ||
| 170 | |||
| 171 | smp_wmb(); /* commit the item before incrementing the head */ | ||
| 172 | |||
| 173 | buffer->head = (head + 1) & (buffer->size - 1); | ||
| 174 | |||
| 175 | /* wake_up() will make sure that the head is committed before | ||
| 176 | * waking anyone up */ | ||
| 177 | wake_up(consumer); | ||
| 178 | } | ||
| 179 | |||
| 180 | spin_unlock(&producer_lock); | ||
| 181 | |||
| 182 | This will instruct the CPU that the contents of the new item must be written | ||
| 183 | before the head index makes it available to the consumer and then instructs the | ||
| 184 | CPU that the revised head index must be written before the consumer is woken. | ||
| 185 | |||
| 186 | Note that wake_up() doesn't have to be the exact mechanism used, but whatever | ||
| 187 | is used must guarantee a (write) memory barrier between the update of the head | ||
| 188 | index and the change of state of the consumer, if a change of state occurs. | ||
| 189 | |||
| 190 | |||
| 191 | THE CONSUMER | ||
| 192 | ------------ | ||
| 193 | |||
| 194 | The consumer will look something like this: | ||
| 195 | |||
| 196 | spin_lock(&consumer_lock); | ||
| 197 | |||
| 198 | unsigned long head = ACCESS_ONCE(buffer->head); | ||
| 199 | unsigned long tail = buffer->tail; | ||
| 200 | |||
| 201 | if (CIRC_CNT(head, tail, buffer->size) >= 1) { | ||
| 202 | /* read index before reading contents at that index */ | ||
| 203 | smp_read_barrier_depends(); | ||
| 204 | |||
| 205 | /* extract one item from the buffer */ | ||
| 206 | struct item *item = buffer[tail]; | ||
| 207 | |||
| 208 | consume_item(item); | ||
| 209 | |||
| 210 | smp_mb(); /* finish reading descriptor before incrementing tail */ | ||
| 211 | |||
| 212 | buffer->tail = (tail + 1) & (buffer->size - 1); | ||
| 213 | } | ||
| 214 | |||
| 215 | spin_unlock(&consumer_lock); | ||
| 216 | |||
| 217 | This will instruct the CPU to make sure the index is up to date before reading | ||
| 218 | the new item, and then it shall make sure the CPU has finished reading the item | ||
| 219 | before it writes the new tail pointer, which will erase the item. | ||
| 220 | |||
| 221 | |||
| 222 | Note the use of ACCESS_ONCE() in both algorithms to read the opposition index. | ||
| 223 | This prevents the compiler from discarding and reloading its cached value - | ||
| 224 | which some compilers will do across smp_read_barrier_depends(). This isn't | ||
| 225 | strictly needed if you can be sure that the opposition index will _only_ be | ||
| 226 | used the once. | ||
| 227 | |||
| 228 | |||
| 229 | =============== | ||
| 230 | FURTHER READING | ||
| 231 | =============== | ||
| 232 | |||
| 233 | See also Documentation/memory-barriers.txt for a description of Linux's memory | ||
| 234 | barrier facilities. | ||
| @@ -74,7 +74,7 @@ driver takes over the consoles vacated by the driver. Binding, on the other · 73 unmodified lines | |||
| 74 | hand, will bind the driver to the consoles that are currently occupied by a | 74 | hand, will bind the driver to the consoles that are currently occupied by a |
| 75 | system driver. | 75 | system driver. |
| 76 | 76 | ||
| 77 | NOTE1: Binding and binding must be selected in Kconfig. It's under: | 77 | NOTE1: Binding and unbinding must be selected in Kconfig. It's under: |
| 78 | 78 | ||
| 79 | Device Drivers -> Character devices -> Support for binding and unbinding | 79 | Device Drivers -> Character devices -> Support for binding and unbinding |
| 80 | console drivers | 80 | console drivers |
| @@ -0,0 +1,207 @@ | |||
| 1 | /* | ||
| 2 | * pcc-cpufreq.txt - PCC interface documentation | ||
| 3 | * | ||
| 4 | * Copyright (C) 2009 Red Hat, Matthew Garrett <mjg@redhat.com> | ||
| 5 | * Copyright (C) 2009 Hewlett-Packard Development Company, L.P. | ||
| 6 | * Nagananda Chumbalkar <nagananda.chumbalkar@hp.com> | ||
| 7 | * | ||
| 8 | * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 9 | * | ||
| 10 | * This program is free software; you can redistribute it and/or modify | ||
| 11 | * it under the terms of the GNU General Public License as published by | ||
| 12 | * the Free Software Foundation; version 2 of the License. | ||
| 13 | * | ||
| 14 | * This program is distributed in the hope that it will be useful, but | ||
| 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or NON | ||
| 17 | * INFRINGEMENT. See the GNU General Public License for more details. | ||
| 18 | * | ||
| 19 | * You should have received a copy of the GNU General Public License along | ||
| 20 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
| 21 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
| 22 | * | ||
| 23 | * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 24 | */ | ||
| 25 | |||
| 26 | |||
| 27 | Processor Clocking Control Driver | ||
| 28 | --------------------------------- | ||
| 29 | |||
| 30 | Contents: | ||
| 31 | --------- | ||
| 32 | 1. Introduction | ||
| 33 | 1.1 PCC interface | ||
| 34 | 1.1.1 Get Average Frequency | ||
| 35 | 1.1.2 Set Desired Frequency | ||
| 36 | 1.2 Platforms affected | ||
| 37 | 2. Driver and /sys details | ||
| 38 | 2.1 scaling_available_frequencies | ||
| 39 | 2.2 cpuinfo_transition_latency | ||
| 40 | 2.3 cpuinfo_cur_freq | ||
| 41 | 2.4 related_cpus | ||
| 42 | 3. Caveats | ||
| 43 | |||
| 44 | 1. Introduction: | ||
| 45 | ---------------- | ||
| 46 | Processor Clocking Control (PCC) is an interface between the platform | ||
| 47 | firmware and OSPM. It is a mechanism for coordinating processor | ||
| 48 | performance (ie: frequency) between the platform firmware and the OS. | ||
| 49 | |||
| 50 | The PCC driver (pcc-cpufreq) allows OSPM to take advantage of the PCC | ||
| 51 | interface. | ||
| 52 | |||
| 53 | OS utilizes the PCC interface to inform platform firmware what frequency the | ||
| 54 | OS wants for a logical processor. The platform firmware attempts to achieve | ||
| 55 | the requested frequency. If the request for the target frequency could not be | ||
| 56 | satisfied by platform firmware, then it usually means that power budget | ||
| 57 | conditions are in place, and "power capping" is taking place. | ||
| 58 | |||
| 59 | 1.1 PCC interface: | ||
| 60 | ------------------ | ||
| 61 | The complete PCC specification is available here: | ||
| 62 | http://www.acpica.org/download/Processor-Clocking-Control-v1p0.pdf | ||
| 63 | |||
| 64 | PCC relies on a shared memory region that provides a channel for communication | ||
| 65 | between the OS and platform firmware. PCC also implements a "doorbell" that | ||
| 66 | is used by the OS to inform the platform firmware that a command has been | ||
| 67 | sent. | ||
| 68 | |||
| 69 | The ACPI PCCH() method is used to discover the location of the PCC shared | ||
| 70 | memory region. The shared memory region header contains the "command" and | ||
| 71 | "status" interface. PCCH() also contains details on how to access the platform | ||
| 72 | doorbell. | ||
| 73 | |||
| 74 | The following commands are supported by the PCC interface: | ||
| 75 | * Get Average Frequency | ||
| 76 | * Set Desired Frequency | ||
| 77 | |||
| 78 | The ACPI PCCP() method is implemented for each logical processor and is | ||
| 79 | used to discover the offsets for the input and output buffers in the shared | ||
| 80 | memory region. | ||
| 81 | |||
| 82 | When PCC mode is enabled, the platform will not expose processor performance | ||
| 83 | or throttle states (_PSS, _TSS and related ACPI objects) to OSPM. Therefore, | ||
| 84 | the native P-state driver (such as acpi-cpufreq for Intel, powernow-k8 for | ||
| 85 | AMD) will not load. | ||
| 86 | |||
| 87 | However, OSPM remains in control of policy. The governor (eg: "ondemand") | ||
| 88 | computes the required performance for each processor based on server workload. | ||
| 89 | The PCC driver fills in the command interface, and the input buffer and | ||
| 90 | communicates the request to the platform firmware. The platform firmware is | ||
| 91 | responsible for delivering the requested performance. | ||
| 92 | |||
| 93 | Each PCC command is "global" in scope and can affect all the logical CPUs in | ||
| 94 | the system. Therefore, PCC is capable of performing "group" updates. With PCC | ||
| 95 | the OS is capable of getting/setting the frequency of all the logical CPUs in | ||
| 96 | the system with a single call to the BIOS. | ||
| 97 | |||
| 98 | 1.1.1 Get Average Frequency: | ||
| 99 | ---------------------------- | ||
| 100 | This command is used by the OSPM to query the running frequency of the | ||
| 101 | processor since the last time this command was completed. The output buffer | ||
| 102 | indicates the average unhalted frequency of the logical processor expressed as | ||
| 103 | a percentage of the nominal (ie: maximum) CPU frequency. The output buffer | ||
| 104 | also signifies if the CPU frequency is limited by a power budget condition. | ||
| 105 | |||
| 106 | 1.1.2 Set Desired Frequency: | ||
| 107 | ---------------------------- | ||
| 108 | This command is used by the OSPM to communicate to the platform firmware the | ||
| 109 | desired frequency for a logical processor. The output buffer is currently | ||
| 110 | ignored by OSPM. The next invocation of "Get Average Frequency" will inform | ||
| 111 | OSPM if the desired frequency was achieved or not. | ||
| 112 | |||
| 113 | 1.2 Platforms affected: | ||
| 114 | ----------------------- | ||
| 115 | The PCC driver will load on any system where the platform firmware: | ||
| 116 | * supports the PCC interface, and the associated PCCH() and PCCP() methods | ||
| 117 | * assumes responsibility for managing the hardware clocking controls in order | ||
| 118 | to deliver the requested processor performance | ||
| 119 | |||
| 120 | Currently, certain HP ProLiant platforms implement the PCC interface. On those | ||
| 121 | platforms PCC is the "default" choice. | ||
| 122 | |||
| 123 | However, it is possible to disable this interface via a BIOS setting. In | ||
| 124 | such an instance, as is also the case on platforms where the PCC interface | ||
| 125 | is not implemented, the PCC driver will fail to load silently. | ||
| 126 | |||
| 127 | 2. Driver and /sys details: | ||
| 128 | --------------------------- | ||
| 129 | When the driver loads, it merely prints the lowest and the highest CPU | ||
| 130 | frequencies supported by the platform firmware. | ||
| 131 | |||
| 132 | The PCC driver loads with a message such as: | ||
| 133 | pcc-cpufreq: (v1.00.00) driver loaded with frequency limits: 1600 MHz, 2933 | ||
| 134 | MHz | ||
| 135 | |||
| 136 | This means that the OPSM can request the CPU to run at any frequency in | ||
| 137 | between the limits (1600 MHz, and 2933 MHz) specified in the message. | ||
| 138 | |||
| 139 | Internally, there is no need for the driver to convert the "target" frequency | ||
| 140 | to a corresponding P-state. | ||
| 141 | |||
| 142 | The VERSION number for the driver will be of the format v.xy.ab. | ||
| 143 | eg: 1.00.02 | ||
| 144 | ----- -- | ||
| 145 | | | | ||
| 146 | | -- this will increase with bug fixes/enhancements to the driver | ||
| 147 | |-- this is the version of the PCC specification the driver adheres to | ||
| 148 | |||
| 149 | |||
| 150 | The following is a brief discussion on some of the fields exported via the | ||
| 151 | /sys filesystem and how their values are affected by the PCC driver: | ||
| 152 | |||
| 153 | 2.1 scaling_available_frequencies: | ||
| 154 | ---------------------------------- | ||
| 155 | scaling_available_frequencies is not created in /sys. No intermediate | ||
| 156 | frequencies need to be listed because the BIOS will try to achieve any | ||
| 157 | frequency, within limits, requested by the governor. A frequency does not have | ||
| 158 | to be strictly associated with a P-state. | ||
| 159 | |||
| 160 | 2.2 cpuinfo_transition_latency: | ||
| 161 | ------------------------------- | ||
| 162 | The cpuinfo_transition_latency field is 0. The PCC specification does | ||
| 163 | not include a field to expose this value currently. | ||
| 164 | |||
| 165 | 2.3 cpuinfo_cur_freq: | ||
| 166 | --------------------- | ||
| 167 | A) Often cpuinfo_cur_freq will show a value different than what is declared | ||
| 168 | in the scaling_available_frequencies or scaling_cur_freq, or scaling_max_freq. | ||
| 169 | This is due to "turbo boost" available on recent Intel processors. If certain | ||
| 170 | conditions are met the BIOS can achieve a slightly higher speed than requested | ||
| 171 | by OSPM. An example: | ||
| 172 | |||
| 173 | scaling_cur_freq : 2933000 | ||
| 174 | cpuinfo_cur_freq : 3196000 | ||
| 175 | |||
| 176 | B) There is a round-off error associated with the cpuinfo_cur_freq value. | ||
| 177 | Since the driver obtains the current frequency as a "percentage" (%) of the | ||
| 178 | nominal frequency from the BIOS, sometimes, the values displayed by | ||
| 179 | scaling_cur_freq and cpuinfo_cur_freq may not match. An example: | ||
| 180 | |||
| 181 | scaling_cur_freq : 1600000 | ||
| 182 | cpuinfo_cur_freq : 1583000 | ||
| 183 | |||
| 184 | In this example, the nominal frequency is 2933 MHz. The driver obtains the | ||
| 185 | current frequency, cpuinfo_cur_freq, as 54% of the nominal frequency: | ||
| 186 | |||
| 187 | 54% of 2933 MHz = 1583 MHz | ||
| 188 | |||
| 189 | Nominal frequency is the maximum frequency of the processor, and it usually | ||
| 190 | corresponds to the frequency of the P0 P-state. | ||
| 191 | |||
| 192 | 2.4 related_cpus: | ||
| 193 | ----------------- | ||
| 194 | The related_cpus field is identical to affected_cpus. | ||
| 195 | |||
| 196 | affected_cpus : 4 | ||
| 197 | related_cpus : 4 | ||
| 198 | |||
| 199 | Currently, the PCC driver does not evaluate _PSD. The platforms that support | ||
| 200 | PCC do not implement SW_ALL. So OSPM doesn't need to perform any coordination | ||
| 201 | to ensure that the same frequency is requested of all dependent CPUs. | ||
| 202 | |||
| 203 | 3. Caveats: | ||
| 204 | ----------- | ||
| 205 | The "cpufreq_stats" module in its present form cannot be loaded and | ||
| 206 | expected to work with the PCC driver. Since the "cpufreq_stats" module | ||
| 207 | provides information wrt each P-state, it is not applicable to the PCC driver. | ||
| @@ -122,3 +122,47 @@ volumeGroup-base: 0 2097152 snapshot-merge 254:11 254:12 P 16 · 121 unmodified lines | |||
| 122 | brw------- 1 root root 254, 11 29 ago 18:15 /dev/mapper/volumeGroup-base-real | 122 | brw------- 1 root root 254, 11 29 ago 18:15 /dev/mapper/volumeGroup-base-real |
| 123 | brw------- 1 root root 254, 12 29 ago 18:16 /dev/mapper/volumeGroup-base-cow | 123 | brw------- 1 root root 254, 12 29 ago 18:16 /dev/mapper/volumeGroup-base-cow |
| 124 | brw------- 1 root root 254, 10 29 ago 18:16 /dev/mapper/volumeGroup-base | 124 | brw------- 1 root root 254, 10 29 ago 18:16 /dev/mapper/volumeGroup-base |
| 125 | |||
| 126 | |||
| 127 | How to determine when a merging is complete | ||
| 128 | =========================================== | ||
| 129 | The snapshot-merge and snapshot status lines end with: | ||
| 130 | <sectors_allocated>/<total_sectors> <metadata_sectors> | ||
| 131 | |||
| 132 | Both <sectors_allocated> and <total_sectors> include both data and metadata. | ||
| 133 | During merging, the number of sectors allocated gets smaller and | ||
| 134 | smaller. Merging has finished when the number of sectors holding data | ||
| 135 | is zero, in other words <sectors_allocated> == <metadata_sectors>. | ||
| 136 | |||
| 137 | Here is a practical example (using a hybrid of lvm and dmsetup commands): | ||
| 138 | |||
| 139 | # lvs | ||
| 140 | LV VG Attr LSize Origin Snap% Move Log Copy% Convert | ||
| 141 | base volumeGroup owi-a- 4.00g | ||
| 142 | snap volumeGroup swi-a- 1.00g base 18.97 | ||
| 143 | |||
| 144 | # dmsetup status volumeGroup-snap | ||
| 145 | 0 8388608 snapshot 397896/2097152 1560 | ||
| 146 | ^^^^ metadata sectors | ||
| 147 | |||
| 148 | # lvconvert --merge -b volumeGroup/snap | ||
| 149 | Merging of volume snap started. | ||
| 150 | |||
| 151 | # lvs volumeGroup/snap | ||
| 152 | LV VG Attr LSize Origin Snap% Move Log Copy% Convert | ||
| 153 | base volumeGroup Owi-a- 4.00g 17.23 | ||
| 154 | |||
| 155 | # dmsetup status volumeGroup-base | ||
| 156 | 0 8388608 snapshot-merge 281688/2097152 1104 | ||
| 157 | |||
| 158 | # dmsetup status volumeGroup-base | ||
| 159 | 0 8388608 snapshot-merge 180480/2097152 712 | ||
| 160 | |||
| 161 | # dmsetup status volumeGroup-base | ||
| 162 | 0 8388608 snapshot-merge 16/2097152 16 | ||
| 163 | |||
| 164 | Merging has finished. | ||
| 165 | |||
| 166 | # lvs | ||
| 167 | LV VG Attr LSize Origin Snap% Move Log Copy% Convert | ||
| 168 | base volumeGroup owi-a- 4.00g | ||
| @@ -192,7 +192,7 @@ command line. This will execute all matching early_param() callbacks. · 191 unmodified lines | |||
| 192 | User specified early platform devices will be registered at this point. | 192 | User specified early platform devices will be registered at this point. |
| 193 | For the early serial console case the user can specify port on the | 193 | For the early serial console case the user can specify port on the |
| 194 | kernel command line as "earlyprintk=serial.0" where "earlyprintk" is | 194 | kernel command line as "earlyprintk=serial.0" where "earlyprintk" is |
| 195 | the class string, "serial" is the name of the platfrom driver and | 195 | the class string, "serial" is the name of the platform driver and |
| 196 | 0 is the platform device id. If the id is -1 then the dot and the | 196 | 0 is the platform device id. If the id is -1 then the dot and the |
| 197 | id can be omitted. | 197 | id can be omitted. |
| 198 | 198 | ||
| @@ -171,7 +171,7 @@ device. · 170 unmodified lines | |||
| 171 | virtual_root.force_probe : | 171 | virtual_root.force_probe : |
| 172 | 172 | ||
| 173 | Force the probing code to probe EISA slots even when it cannot find an | 173 | Force the probing code to probe EISA slots even when it cannot find an |
| 174 | EISA compliant mainboard (nothing appears on slot 0). Defaultd to 0 | 174 | EISA compliant mainboard (nothing appears on slot 0). Defaults to 0 |
| 175 | (don't force), and set to 1 (force probing) when either | 175 | (don't force), and set to 1 (force probing) when either |
| 176 | CONFIG_ALPHA_JENSEN or CONFIG_EISA_VLB_PRIMING are set. | 176 | CONFIG_ALPHA_JENSEN or CONFIG_EISA_VLB_PRIMING are set. |
| 177 | 177 | ||
| @@ -216,26 +216,14 @@ Works. Use "Insert file..." or external editor. · 215 unmodified lines | |||
| 216 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 216 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 217 | Gmail (Web GUI) | 217 | Gmail (Web GUI) |
| 218 | 218 | ||
| 219 | If you just have to use Gmail to send patches, it CAN be made to work. It | 219 | Does not work for sending patches. |
| 220 | requires a bit of external help, though. | 220 | |
| 221 | 221 | Gmail web client converts tabs to spaces automatically. | |
| 222 | The first problem is that Gmail converts tabs to spaces. This will | 222 | |
| 223 | totally break your patches. To prevent this, you have to use a different | 223 | At the same time it wraps lines every 78 chars with CRLF style line breaks |
| 224 | editor. There is a firefox extension called "ViewSourceWith" | 224 | although tab2space problem can be solved with external editor. |
| 225 | (https://addons.mozilla.org/en-US/firefox/addon/394) which allows you to | 225 | |
| 226 | edit any text box in the editor of your choice. Configure it to launch | 226 | Another problem is that Gmail will base64-encode any message that has a |
| 227 | your favorite editor. When you want to send a patch, use this technique. | 227 | non-ASCII character. That includes things like European names. |
| 228 | Once you have crafted your messsage + patch, save and exit the editor, | ||
| 229 | which should reload the Gmail edit box. GMAIL WILL PRESERVE THE TABS. | ||
| 230 | Hoorah. Apparently you can cut-n-paste literal tabs, but Gmail will | ||
| 231 | convert those to spaces upon sending! | ||
| 232 | |||
| 233 | The second problem is that Gmail converts tabs to spaces on replies. If | ||
| 234 | you reply to a patch, don't expect to be able to apply it as a patch. | ||
| 235 | |||
| 236 | The last problem is that Gmail will base64-encode any message that has a | ||
| 237 | non-ASCII character. That includes things like European names. Be aware. | ||
| 238 | |||
| 239 | Gmail is not convenient for lkml patches, but CAN be made to work. | ||
| 240 | 228 | ||
| 241 | ### | 229 | ### |
| @@ -0,0 +1,38 @@ | |||
| 1 | The lkdtm module provides an interface to crash or injure the kernel at | ||
| 2 | predefined crashpoints to evaluate the reliability of crash dumps obtained | ||
| 3 | using different dumping solutions. The module uses KPROBEs to instrument | ||
| 4 | crashing points, but can also crash the kernel directly without KRPOBE | ||
| 5 | support. | ||
| 6 | |||
| 7 | |||
| 8 | You can provide the way either through module arguments when inserting | ||
| 9 | the module, or through a debugfs interface. | ||
| 10 | |||
| 11 | Usage: insmod lkdtm.ko [recur_count={>0}] cpoint_name=<> cpoint_type=<> | ||
| 12 | [cpoint_count={>0}] | ||
| 13 | |||
| 14 | recur_count : Recursion level for the stack overflow test. Default is 10. | ||
| 15 | |||
| 16 | cpoint_name : Crash point where the kernel is to be crashed. It can be | ||
| 17 | one of INT_HARDWARE_ENTRY, INT_HW_IRQ_EN, INT_TASKLET_ENTRY, | ||
| 18 | FS_DEVRW, MEM_SWAPOUT, TIMERADD, SCSI_DISPATCH_CMD, | ||
| 19 | IDE_CORE_CP, DIRECT | ||
| 20 | |||
| 21 | cpoint_type : Indicates the action to be taken on hitting the crash point. | ||
| 22 | It can be one of PANIC, BUG, EXCEPTION, LOOP, OVERFLOW, | ||
| 23 | CORRUPT_STACK, UNALIGNED_LOAD_STORE_WRITE, OVERWRITE_ALLOCATION, | ||
| 24 | WRITE_AFTER_FREE, | ||
| 25 | |||
| 26 | cpoint_count : Indicates the number of times the crash point is to be hit | ||
| 27 | to trigger an action. The default is 10. | ||
| 28 | |||
| 29 | You can also induce failures by mounting debugfs and writing the type to | ||
| 30 | <mountpoint>/provoke-crash/<crashpoint>. E.g., | ||
| 31 | |||
| 32 | mount -t debugfs debugfs /mnt | ||
| 33 | echo EXCEPTION > /mnt/provoke-crash/INT_HARDWARE_ENTRY | ||
| 34 | |||
| 35 | |||
| 36 | A special file is `DIRECT' which will induce the crash directly without | ||
| 37 | KPROBE instrumentation. This mode is the only one available when the module | ||
| 38 | is built on a kernel without KPROBEs support. | ||
| @@ -117,19 +117,25 @@ Who: Mauro Carvalho Chehab <mchehab@infradead.org> · 116 unmodified lines | |||
| 117 | --------------------------- | 117 | --------------------------- |
| 118 | 118 | ||
| 119 | What: PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl]) | 119 | What: PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl]) |
| 120 | When: November 2005 | 120 | When: 2.6.35/2.6.36 |
| 121 | Files: drivers/pcmcia/: pcmcia_ioctl.c | 121 | Files: drivers/pcmcia/: pcmcia_ioctl.c |
| 122 | Why: With the 16-bit PCMCIA subsystem now behaving (almost) like a | 122 | Why: With the 16-bit PCMCIA subsystem now behaving (almost) like a |
| 123 | normal hotpluggable bus, and with it using the default kernel | 123 | normal hotpluggable bus, and with it using the default kernel |
| 124 | infrastructure (hotplug, driver core, sysfs) keeping the PCMCIA | 124 | infrastructure (hotplug, driver core, sysfs) keeping the PCMCIA |
| 125 | control ioctl needed by cardmgr and cardctl from pcmcia-cs is | 125 | control ioctl needed by cardmgr and cardctl from pcmcia-cs is |
| 126 | unnecessary, and makes further cleanups and integration of the | 126 | unnecessary and potentially harmful (it does not provide for |
| 127 | proper locking), and makes further cleanups and integration of the | ||
| 127 | PCMCIA subsystem into the Linux kernel device driver model more | 128 | PCMCIA subsystem into the Linux kernel device driver model more |
| 128 | difficult. The features provided by cardmgr and cardctl are either | 129 | difficult. The features provided by cardmgr and cardctl are either |
| 129 | handled by the kernel itself now or are available in the new | 130 | handled by the kernel itself now or are available in the new |
| 130 | pcmciautils package available at | 131 | pcmciautils package available at |
| 131 | http://kernel.org/pub/linux/utils/kernel/pcmcia/ | 132 | http://kernel.org/pub/linux/utils/kernel/pcmcia/ |
| 132 | Who: Dominik Brodowski <linux@brodo.de> | 133 | |
| 134 | For all architectures except ARM, the associated config symbol | ||
| 135 | has been removed from kernel 2.6.34; for ARM, it will be likely | ||
| 136 | be removed from kernel 2.6.35. The actual code will then likely | ||
| 137 | be removed from kernel 2.6.36. | ||
| 138 | Who: Dominik Brodowski <linux@dominikbrodowski.net> | ||
| 133 | 139 | ||
| 134 | --------------------------- | 140 | --------------------------- |
| 135 | 141 | ||
| @@ -443,12 +449,6 @@ Who: Alok N Kataria <akataria@vmware.com> · 307 unmodified lines | |||
| 443 | 449 | ||
| 444 | ---------------------------- | 450 | ---------------------------- |
| 445 | 451 | ||
| 446 | What: adt7473 hardware monitoring driver | ||
| 447 | When: February 2010 | ||
| 448 | Why: Obsoleted by the adt7475 driver. | ||
| 449 | Who: Jean Delvare <khali@linux-fr.org> | ||
| 450 | |||
| 451 | --------------------------- | ||
| 452 | What: Support for lcd_switch and display_get in asus-laptop driver | 452 | What: Support for lcd_switch and display_get in asus-laptop driver |
| 453 | When: March 2010 | 453 | When: March 2010 |
| 454 | Why: These two features use non-standard interfaces. There are the | 454 | Why: These two features use non-standard interfaces. There are the |
| @@ -550,3 +550,42 @@ Why: udev fully replaces this special file system that only contains CAPI · 95 unmodified lines | |||
| 550 | NCCI TTY device nodes. User space (pppdcapiplugin) works without | 550 | NCCI TTY device nodes. User space (pppdcapiplugin) works without |
| 551 | noticing the difference. | 551 | noticing the difference. |
| 552 | Who: Jan Kiszka <jan.kiszka@web.de> | 552 | Who: Jan Kiszka <jan.kiszka@web.de> |
| 553 | |||
| 554 | ---------------------------- | ||
| 555 | |||
| 556 | What: KVM memory aliases support | ||
| 557 | When: July 2010 | ||
| 558 | Why: Memory aliasing support is used for speeding up guest vga access | ||
| 559 | through the vga windows. | ||
| 560 | |||
| 561 | Modern userspace no longer uses this feature, so it's just bitrotted | ||
| 562 | code and can be removed with no impact. | ||
| 563 | Who: Avi Kivity <avi@redhat.com> | ||
| 564 | |||
| 565 | ---------------------------- | ||
| 566 | |||
| 567 | What: KVM kernel-allocated memory slots | ||
| 568 | When: July 2010 | ||
| 569 | Why: Since 2.6.25, kvm supports user-allocated memory slots, which are | ||
| 570 | much more flexible than kernel-allocated slots. All current userspace | ||
| 571 | supports the newer interface and this code can be removed with no | ||
| 572 | impact. | ||
| 573 | Who: Avi Kivity <avi@redhat.com> | ||
| 574 | |||
| 575 | ---------------------------- | ||
| 576 | |||
| 577 | What: KVM paravirt mmu host support | ||
| 578 | When: January 2011 | ||
| 579 | Why: The paravirt mmu host support is slower than non-paravirt mmu, both | ||
| 580 | on newer and older hardware. It is already not exposed to the guest, | ||
| 581 | and kept only for live migration purposes. | ||
| 582 | Who: Avi Kivity <avi@redhat.com> | ||
| 583 | |||
| 584 | ---------------------------- | ||
| 585 | |||
| 586 | What: "acpi=ht" boot option | ||
| 587 | When: 2.6.35 | ||
| 588 | Why: Useful in 2003, implementation is a hack. | ||
| 589 | Generally invoked by accident today. | ||
| 590 | Seen as doing more harm than good. | ||
| 591 | Who: Len Brown <len.brown@intel.com> | ||
| @@ -16,6 +16,8 @@ befs.txt · 15 unmodified lines | |||
| 16 | - information about the BeOS filesystem for Linux. | 16 | - information about the BeOS filesystem for Linux. |
| 17 | bfs.txt | 17 | bfs.txt |
| 18 | - info for the SCO UnixWare Boot Filesystem (BFS). | 18 | - info for the SCO UnixWare Boot Filesystem (BFS). |
| 19 | ceph.txt | ||
| 20 | - info for the Ceph Distributed File System | ||
| 19 | cifs.txt | 21 | cifs.txt |
| 20 | - description of the CIFS filesystem. | 22 | - description of the CIFS filesystem. |
| 21 | coda.txt | 23 | coda.txt |
| @@ -32,6 +34,8 @@ dlmfs.txt · 10 unmodified lines | |||
| 32 | - info on the userspace interface to the OCFS2 DLM. | 34 | - info on the userspace interface to the OCFS2 DLM. |
| 33 | dnotify.txt | 35 | dnotify.txt |
| 34 | - info about directory notification in Linux. | 36 | - info about directory notification in Linux. |
| 37 | dnotify_test.c | ||
| 38 | - example program for dnotify | ||
| 35 | ecryptfs.txt | 39 | ecryptfs.txt |
| 36 | - docs on eCryptfs: stacked cryptographic filesystem for Linux. | 40 | - docs on eCryptfs: stacked cryptographic filesystem for Linux. |
| 37 | exofs.txt | 41 | exofs.txt |
| @@ -62,6 +66,8 @@ jfs.txt · 24 unmodified lines | |||
| 62 | - info and mount options for the JFS filesystem. | 66 | - info and mount options for the JFS filesystem. |
| 63 | locks.txt | 67 | locks.txt |
| 64 | - info on file locking implementations, flock() vs. fcntl(), etc. | 68 | - info on file locking implementations, flock() vs. fcntl(), etc. |
| 69 | logfs.txt | ||
| 70 | - info on the LogFS flash filesystem. | ||
| 65 | mandatory-locking.txt | 71 | mandatory-locking.txt |
| 66 | - info on the Linux implementation of Sys V mandatory file locking. | 72 | - info on the Linux implementation of Sys V mandatory file locking. |
| 67 | ncpfs.txt | 73 | ncpfs.txt |
| @@ -460,13 +460,6 @@ in sys_read() and friends. · 459 unmodified lines | |||
| 460 | 460 | ||
| 461 | --------------------------- dquot_operations ------------------------------- | 461 | --------------------------- dquot_operations ------------------------------- |
| 462 | prototypes: | 462 | prototypes: |
| 463 | int (*initialize) (struct inode *, int); | ||
| 464 | int (*drop) (struct inode *); | ||
| 465 | int (*alloc_space) (struct inode *, qsize_t, int); | ||
| 466 | int (*alloc_inode) (const struct inode *, unsigned long); | ||
| 467 | int (*free_space) (struct inode *, qsize_t); | ||
| 468 | int (*free_inode) (const struct inode *, unsigned long); | ||
| 469 | int (*transfer) (struct inode *, struct iattr *); | ||
| 470 | int (*write_dquot) (struct dquot *); | 463 | int (*write_dquot) (struct dquot *); |
| 471 | int (*acquire_dquot) (struct dquot *); | 464 | int (*acquire_dquot) (struct dquot *); |
| 472 | int (*release_dquot) (struct dquot *); | 465 | int (*release_dquot) (struct dquot *); |
| @@ -479,13 +472,6 @@ a proper locking wrt the filesystem and call the generic quota operations. · 6 unmodified lines | |||
| 479 | What filesystem should expect from the generic quota functions: | 472 | What filesystem should expect from the generic quota functions: |
| 480 | 473 | ||
| 481 | FS recursion Held locks when called | 474 | FS recursion Held locks when called |
| 482 | initialize: yes maybe dqonoff_sem | ||
| 483 | drop: yes - | ||
| 484 | alloc_space: ->mark_dirty() - | ||
| 485 | alloc_inode: ->mark_dirty() - | ||
| 486 | free_space: ->mark_dirty() - | ||
| 487 | free_inode: ->mark_dirty() - | ||
| 488 | transfer: yes - | ||
| 489 | write_dquot: yes dqonoff_sem or dqptr_sem | 475 | write_dquot: yes dqonoff_sem or dqptr_sem |
| 490 | acquire_dquot: yes dqonoff_sem or dqptr_sem | 476 | acquire_dquot: yes dqonoff_sem or dqptr_sem |
| 491 | release_dquot: yes dqonoff_sem or dqptr_sem | 477 | release_dquot: yes dqonoff_sem or dqptr_sem |
| @@ -495,10 +481,6 @@ write_info: yes dqonoff_sem · 3 unmodified lines | |||
| 495 | FS recursion means calling ->quota_read() and ->quota_write() from superblock | 481 | FS recursion means calling ->quota_read() and ->quota_write() from superblock |
| 496 | operations. | 482 | operations. |
| 497 | 483 | ||
| 498 | ->alloc_space(), ->alloc_inode(), ->free_space(), ->free_inode() are called | ||
| 499 | only directly by the filesystem and do not call any fs functions only | ||
| 500 | the ->mark_dirty() operation. | ||
| 501 | |||
| 502 | More details about quota locking can be found in fs/dquot.c. | 484 | More details about quota locking can be found in fs/dquot.c. |
| 503 | 485 | ||
| 504 | --------------------------- vm_operations_struct ----------------------------- | 486 | --------------------------- vm_operations_struct ----------------------------- |
| @@ -0,0 +1,8 @@ | |||
| 1 | # kbuild trick to avoid linker error. Can be omitted if a module is built. | ||
| 2 | obj- := dummy.o | ||
| 3 | |||
| 4 | # List of programs to build | ||
| 5 | hostprogs-y := dnotify_test | ||
| 6 | |||
| 7 | # Tell kbuild to always build the programs | ||
| 8 | always := $(hostprogs-y) | ||
| @@ -0,0 +1,140 @@ | |||
| 1 | Ceph Distributed File System | ||
| 2 | ============================ | ||
| 3 | |||
| 4 | Ceph is a distributed network file system designed to provide good | ||
| 5 | performance, reliability, and scalability. | ||
| 6 | |||
| 7 | Basic features include: | ||
| 8 | |||
| 9 | * POSIX semantics | ||
| 10 | * Seamless scaling from 1 to many thousands of nodes | ||
| 11 | * High availability and reliability. No single point of failure. | ||
| 12 | * N-way replication of data across storage nodes | ||
| 13 | * Fast recovery from node failures | ||
| 14 | * Automatic rebalancing of data on node addition/removal | ||
| 15 | * Easy deployment: most FS components are userspace daemons | ||
| 16 | |||
| 17 | Also, | ||
| 18 | * Flexible snapshots (on any directory) | ||
| 19 | * Recursive accounting (nested files, directories, bytes) | ||
| 20 | |||
| 21 | In contrast to cluster filesystems like GFS, OCFS2, and GPFS that rely | ||
| 22 | on symmetric access by all clients to shared block devices, Ceph | ||
| 23 | separates data and metadata management into independent server | ||
| 24 | clusters, similar to Lustre. Unlike Lustre, however, metadata and | ||
| 25 | storage nodes run entirely as user space daemons. Storage nodes | ||
| 26 | utilize btrfs to store data objects, leveraging its advanced features | ||
| 27 | (checksumming, metadata replication, etc.). File data is striped | ||
| 28 | across storage nodes in large chunks to distribute workload and | ||
| 29 | facilitate high throughputs. When storage nodes fail, data is | ||
| 30 | re-replicated in a distributed fashion by the storage nodes themselves | ||
| 31 | (with some minimal coordination from a cluster monitor), making the | ||
| 32 | system extremely efficient and scalable. | ||
| 33 | |||
| 34 | Metadata servers effectively form a large, consistent, distributed | ||
| 35 | in-memory cache above the file namespace that is extremely scalable, | ||
| 36 | dynamically redistributes metadata in response to workload changes, | ||
| 37 | and can tolerate arbitrary (well, non-Byzantine) node failures. The | ||
| 38 | metadata server takes a somewhat unconventional approach to metadata | ||
| 39 | storage to significantly improve performance for common workloads. In | ||
| 40 | particular, inodes with only a single link are embedded in | ||
| 41 | directories, allowing entire directories of dentries and inodes to be | ||
| 42 | loaded into its cache with a single I/O operation. The contents of | ||
| 43 | extremely large directories can be fragmented and managed by | ||
| 44 | independent metadata servers, allowing scalable concurrent access. | ||
| 45 | |||
| 46 | The system offers automatic data rebalancing/migration when scaling | ||
| 47 | from a small cluster of just a few nodes to many hundreds, without | ||
| 48 | requiring an administrator carve the data set into static volumes or | ||
| 49 | go through the tedious process of migrating data between servers. | ||
| 50 | When the file system approaches full, new nodes can be easily added | ||
| 51 | and things will "just work." | ||
| 52 | |||
| 53 | Ceph includes flexible snapshot mechanism that allows a user to create | ||
| 54 | a snapshot on any subdirectory (and its nested contents) in the | ||
| 55 | system. Snapshot creation and deletion are as simple as 'mkdir | ||
| 56 | .snap/foo' and 'rmdir .snap/foo'. | ||
| 57 | |||
| 58 | Ceph also provides some recursive accounting on directories for nested | ||
| 59 | files and bytes. That is, a 'getfattr -d foo' on any directory in the | ||
| 60 | system will reveal the total number of nested regular files and | ||
| 61 | subdirectories, and a summation of all nested file sizes. This makes | ||
| 62 | the identification of large disk space consumers relatively quick, as | ||
| 63 | no 'du' or similar recursive scan of the file system is required. | ||
| 64 | |||
| 65 | |||
| 66 | Mount Syntax | ||
| 67 | ============ | ||
| 68 | |||
| 69 | The basic mount syntax is: | ||
| 70 | |||
| 71 | # mount -t ceph monip[:port][,monip2[:port]...]:/[subdir] mnt | ||
| 72 | |||
| 73 | You only need to specify a single monitor, as the client will get the | ||
| 74 | full list when it connects. (However, if the monitor you specify | ||
| 75 | happens to be down, the mount won't succeed.) The port can be left | ||
| 76 | off if the monitor is using the default. So if the monitor is at | ||
| 77 | 1.2.3.4, | ||
| 78 | |||
| 79 | # mount -t ceph 1.2.3.4:/ /mnt/ceph | ||
| 80 | |||
| 81 | is sufficient. If /sbin/mount.ceph is installed, a hostname can be | ||
| 82 | used instead of an IP address. | ||
| 83 | |||
| 84 | |||
| 85 | |||
| 86 | Mount Options | ||
| 87 | ============= | ||
| 88 | |||
| 89 | ip=A.B.C.D[:N] | ||
| 90 | Specify the IP and/or port the client should bind to locally. | ||
| 91 | There is normally not much reason to do this. If the IP is not | ||
| 92 | specified, the client's IP address is determined by looking at the | ||
| 93 | address it's connection to the monitor originates from. | ||
| 94 | |||
| 95 | wsize=X | ||
| 96 | Specify the maximum write size in bytes. By default there is no | ||
| 97 | maximum. Ceph will normally size writes based on the file stripe | ||
| 98 | size. | ||
| 99 | |||
| 100 | rsize=X | ||
| 101 | Specify the maximum readahead. | ||
| 102 | |||
| 103 | mount_timeout=X | ||
| 104 | Specify the timeout value for mount (in seconds), in the case | ||
| 105 | of a non-responsive Ceph file system. The default is 30 | ||
| 106 | seconds. | ||
| 107 | |||
| 108 | rbytes | ||
| 109 | When stat() is called on a directory, set st_size to 'rbytes', | ||
| 110 | the summation of file sizes over all files nested beneath that | ||
| 111 | directory. This is the default. | ||
| 112 | |||
| 113 | norbytes | ||
| 114 | When stat() is called on a directory, set st_size to the | ||
| 115 | number of entries in that directory. | ||
| 116 | |||
| 117 | nocrc | ||
| 118 | Disable CRC32C calculation for data writes. If set, the storage node | ||
| 119 | must rely on TCP's error correction to detect data corruption | ||
| 120 | in the data payload. | ||
| 121 | |||
| 122 | noasyncreaddir | ||
| 123 | Disable client's use its local cache to satisfy readdir | ||
| 124 | requests. (This does not change correctness; the client uses | ||
| 125 | cached metadata only when a lease or capability ensures it is | ||
| 126 | valid.) | ||
| 127 | |||
| 128 | |||
| 129 | More Information | ||
| 130 | ================ | ||
| 131 | |||
| 132 | For more information on Ceph, see the home page at | ||
| 133 | http://ceph.newdream.net/ | ||
| 134 | |||
| 135 | The Linux kernel client source tree is available at | ||
| 136 | git://ceph.newdream.net/git/ceph-client.git | ||
| 137 | git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git | ||
| 138 | |||
| 139 | and the source for the full system is at | ||
| 140 | git://ceph.newdream.net/git/ceph.git | ||
| @@ -62,38 +62,9 @@ disabled, fcntl(fd, F_NOTIFY, ...) will return -EINVAL. · 61 unmodified lines | |||
| 62 | 62 | ||
| 63 | Example | 63 | Example |
| 64 | ------- | 64 | ------- |
| 65 | See Documentation/filesystems/dnotify_test.c for an example. | ||
| 65 | 66 | ||
| 66 | #define _GNU_SOURCE /* needed to get the defines */ | 67 | NOTE |
| 67 | #include <fcntl.h> /* in glibc 2.2 this has the needed | 68 | ---- |
| 68 | values defined */ | 69 | Beginning with Linux 2.6.13, dnotify has been replaced by inotify. |
| 69 | #include <signal.h> | 70 | See Documentation/filesystems/inotify.txt for more information on it. |
| 70 | #include <stdio.h> | ||
| 71 | #include <unistd.h> | ||
| 72 | |||
| 73 | static volatile int event_fd; | ||
| 74 | |||
| 75 | static void handler(int sig, siginfo_t *si, void *data) | ||
| 76 | { | ||
| 77 | event_fd = si->si_fd; | ||
| 78 | } | ||
| 79 | |||
| 80 | int main(void) | ||
| 81 | { | ||
| 82 | struct sigaction act; | ||
| 83 | int fd; | ||
| 84 | |||
| 85 | act.sa_sigaction = handler; | ||
| 86 | sigemptyset(&act.sa_mask); | ||
| 87 | act.sa_flags = SA_SIGINFO; | ||
| 88 | sigaction(SIGRTMIN + 1, &act, NULL); | ||
| 89 | |||
| 90 | fd = open(".", O_RDONLY); | ||
| 91 | fcntl(fd, F_SETSIG, SIGRTMIN + 1); | ||
| 92 | fcntl(fd, F_NOTIFY, DN_MODIFY|DN_CREATE|DN_MULTISHOT); | ||
| 93 | /* we will now be notified if any of the files | ||
| 94 | in "." is modified or new files are created */ | ||
| 95 | while (1) { | ||
| 96 | pause(); | ||
| 97 | printf("Got event on fd=%d\n", event_fd); | ||
| 98 | } | ||
| 99 | } | ||
| @@ -0,0 +1,34 @@ | |||
| 1 | #define _GNU_SOURCE /* needed to get the defines */ | ||
| 2 | #include <fcntl.h> /* in glibc 2.2 this has the needed | ||
| 3 | values defined */ | ||
| 4 | #include <signal.h> | ||
| 5 | #include <stdio.h> | ||
| 6 | #include <unistd.h> | ||
| 7 | |||
| 8 | static volatile int event_fd; | ||
| 9 | |||
| 10 | static void handler(int sig, siginfo_t *si, void *data) | ||
| 11 | { | ||
| 12 | event_fd = si->si_fd; | ||
| 13 | } | ||
| 14 | |||
| 15 | int main(void) | ||
| 16 | { | ||
| 17 | struct sigaction act; | ||
| 18 | int fd; | ||
| 19 | |||
| 20 | act.sa_sigaction = handler; | ||
| 21 | sigemptyset(&act.sa_mask); | ||
| 22 | act.sa_flags = SA_SIGINFO; | ||
| 23 | sigaction(SIGRTMIN + 1, &act, NULL); | ||
| 24 | |||
| 25 | fd = open(".", O_RDONLY); | ||
| 26 | fcntl(fd, F_SETSIG, SIGRTMIN + 1); | ||
| 27 | fcntl(fd, F_NOTIFY, DN_MODIFY|DN_CREATE|DN_MULTISHOT); | ||
| 28 | /* we will now be notified if any of the files | ||
| 29 | in "." is modified or new files are created */ | ||
| 30 | while (1) { | ||
| 31 | pause(); | ||
| 32 | printf("Got event on fd=%d\n", event_fd); | ||
| 33 | } | ||
| 34 | } | ||
| @@ -0,0 +1,241 @@ | |||
| 1 | |||
| 2 | The LogFS Flash Filesystem | ||
| 3 | ========================== | ||
| 4 | |||
| 5 | Specification | ||
| 6 | ============= | ||
| 7 | |||
| 8 | Superblocks | ||
| 9 | ----------- | ||
| 10 | |||
| 11 | Two superblocks exist at the beginning and end of the filesystem. | ||
| 12 | Each superblock is 256 Bytes large, with another 3840 Bytes reserved | ||
| 13 | for future purposes, making a total of 4096 Bytes. | ||
| 14 | |||
| 15 | Superblock locations may differ for MTD and block devices. On MTD the | ||
| 16 | first non-bad block contains a superblock in the first 4096 Bytes and | ||
| 17 | the last non-bad block contains a superblock in the last 4096 Bytes. | ||
| 18 | On block devices, the first 4096 Bytes of the device contain the first | ||
| 19 | superblock and the last aligned 4096 Byte-block contains the second | ||
| 20 | superblock. | ||
| 21 | |||
| 22 | For the most part, the superblocks can be considered read-only. They | ||
| 23 | are written only to correct errors detected within the superblocks, | ||
| 24 | move the journal and change the filesystem parameters through tunefs. | ||
| 25 | As a result, the superblock does not contain any fields that require | ||
| 26 | constant updates, like the amount of free space, etc. | ||
| 27 | |||
| 28 | Segments | ||
| 29 | -------- | ||
| 30 | |||
| 31 | The space in the device is split up into equal-sized segments. | ||
| 32 | Segments are the primary write unit of LogFS. Within each segments, | ||
| 33 | writes happen from front (low addresses) to back (high addresses. If | ||
| 34 | only a partial segment has been written, the segment number, the | ||
| 35 | current position within and optionally a write buffer are stored in | ||
| 36 | the journal. | ||
| 37 | |||
| 38 | Segments are erased as a whole. Therefore Garbage Collection may be | ||
| 39 | required to completely free a segment before doing so. | ||
| 40 | |||
| 41 | Journal | ||
| 42 | -------- | ||
| 43 | |||
| 44 | The journal contains all global information about the filesystem that | ||
| 45 | is subject to frequent change. At mount time, it has to be scanned | ||
| 46 | for the most recent commit entry, which contains a list of pointers to | ||
| 47 | all currently valid entries. | ||
| 48 | |||
| 49 | Object Store | ||
| 50 | ------------ | ||
| 51 | |||
| 52 | All space except for the superblocks and journal is part of the object | ||
| 53 | store. Each segment contains a segment header and a number of | ||
| 54 | objects, each consisting of the object header and the payload. | ||
| 55 | Objects are either inodes, directory entries (dentries), file data | ||
| 56 | blocks or indirect blocks. | ||
| 57 | |||
| 58 | Levels | ||
| 59 | ------ | ||
| 60 | |||
| 61 | Garbage collection (GC) may fail if all data is written | ||
| 62 | indiscriminately. One requirement of GC is that data is seperated | ||
| 63 | roughly according to the distance between the tree root and the data. | ||
| 64 | Effectively that means all file data is on level 0, indirect blocks | ||
| 65 | are on levels 1, 2, 3 4 or 5 for 1x, 2x, 3x, 4x or 5x indirect blocks, | ||
| 66 | respectively. Inode file data is on level 6 for the inodes and 7-11 | ||
| 67 | for indirect blocks. | ||
| 68 | |||
| 69 | Each segment contains objects of a single level only. As a result, | ||
| 70 | each level requires its own seperate segment to be open for writing. | ||
| 71 | |||
| 72 | Inode File | ||
| 73 | ---------- | ||
| 74 | |||
| 75 | All inodes are stored in a special file, the inode file. Single | ||
| 76 | exception is the inode file's inode (master inode) which for obvious | ||
| 77 | reasons is stored in the journal instead. Instead of data blocks, the | ||
| 78 | leaf nodes of the inode files are inodes. | ||
| 79 | |||
| 80 | Aliases | ||
| 81 | ------- | ||
| 82 | |||
| 83 | Writes in LogFS are done by means of a wandering tree. A naïve | ||
| 84 | implementation would require that for each write or a block, all | ||
| 85 | parent blocks are written as well, since the block pointers have | ||
| 86 | changed. Such an implementation would not be very efficient. | ||
| 87 | |||
| 88 | In LogFS, the block pointer changes are cached in the journal by means | ||
| 89 | of alias entries. Each alias consists of its logical address - inode | ||
| 90 | number, block index, level and child number (index into block) - and | ||
| 91 | the changed data. Any 8-byte word can be changes in this manner. | ||
| 92 | |||
| 93 | Currently aliases are used for block pointers, file size, file used | ||
| 94 | bytes and the height of an inodes indirect tree. | ||
| 95 | |||
| 96 | Segment Aliases | ||
| 97 | --------------- | ||
| 98 | |||
| 99 | Related to regular aliases, these are used to handle bad blocks. | ||
| 100 | Initially, bad blocks are handled by moving the affected segment | ||
| 101 | content to a spare segment and noting this move in the journal with a | ||
| 102 | segment alias, a simple (to, from) tupel. GC will later empty this | ||
| 103 | segment and the alias can be removed again. This is used on MTD only. | ||
| 104 | |||
| 105 | Vim | ||
| 106 | --- | ||
| 107 | |||
| 108 | By cleverly predicting the life time of data, it is possible to | ||
| 109 | seperate long-living data from short-living data and thereby reduce | ||
| 110 | the GC overhead later. Each type of distinc life expectency (vim) can | ||
| 111 | have a seperate segment open for writing. Each (level, vim) tupel can | ||
| 112 | be open just once. If an open segment with unknown vim is encountered | ||
| 113 | at mount time, it is closed and ignored henceforth. | ||
| 114 | |||
| 115 | Indirect Tree | ||
| 116 | ------------- | ||
| 117 | |||
| 118 | Inodes in LogFS are similar to FFS-style filesystems with direct and | ||
| 119 | indirect block pointers. One difference is that LogFS uses a single | ||
| 120 | indirect pointer that can be either a 1x, 2x, etc. indirect pointer. | ||
| 121 | A height field in the inode defines the height of the indirect tree | ||
| 122 | and thereby the indirection of the pointer. | ||
| 123 | |||
| 124 | Another difference is the addressing of indirect blocks. In LogFS, | ||
| 125 | the first 16 pointers in the first indirect block are left empty, | ||
| 126 | corresponding to the 16 direct pointers in the inode. In ext2 (maybe | ||
| 127 | others as well) the first pointer in the first indirect block | ||
| 128 | corresponds to logical block 12, skipping the 12 direct pointers. | ||
| 129 | So where ext2 is using arithmetic to better utilize space, LogFS keeps | ||
| 130 | arithmetic simple and uses compression to save space. | ||
| 131 | |||
| 132 | Compression | ||
| 133 | ----------- | ||
| 134 | |||
| 135 | Both file data and metadata can be compressed. Compression for file | ||
| 136 | data can be enabled with chattr +c and disabled with chattr -c. Doing | ||
| 137 | so has no effect on existing data, but new data will be stored | ||
| 138 | accordingly. New inodes will inherit the compression flag of the | ||
| 139 | parent directory. | ||
| 140 | |||
| 141 | Metadata is always compressed. However, the space accounting ignores | ||
| 142 | this and charges for the uncompressed size. Failing to do so could | ||
| 143 | result in GC failures when, after moving some data, indirect blocks | ||
| 144 | compress worse than previously. Even on a 100% full medium, GC may | ||
| 145 | not consume any extra space, so the compression gains are lost space | ||
| 146 | to the user. | ||
| 147 | |||
| 148 | However, they are not lost space to the filesystem internals. By | ||
| 149 | cheating the user for those bytes, the filesystem gained some slack | ||
| 150 | space and GC will run less often and faster. | ||
| 151 | |||
| 152 | Garbage Collection and Wear Leveling | ||
| 153 | ------------------------------------ | ||
| 154 | |||
| 155 | Garbage collection is invoked whenever the number of free segments | ||
| 156 | falls below a threshold. The best (known) candidate is picked based | ||
| 157 | on the least amount of valid data contained in the segment. All | ||
| 158 | remaining valid data is copied elsewhere, thereby invalidating it. | ||
| 159 | |||
| 160 | The GC code also checks for aliases and writes then back if their | ||
| 161 | number gets too large. | ||
| 162 | |||
| 163 | Wear leveling is done by occasionally picking a suboptimal segment for | ||
| 164 | garbage collection. If a stale segments erase count is significantly | ||
| 165 | lower than the active segments' erase counts, it will be picked. Wear | ||
| 166 | leveling is rate limited, so it will never monopolize the device for | ||
| 167 | more than one segment worth at a time. | ||
| 168 | |||
| 169 | Values for "occasionally", "significantly lower" are compile time | ||
| 170 | constants. | ||
| 171 | |||
| 172 | Hashed directories | ||
| 173 | ------------------ | ||
| 174 | |||
| 175 | To satisfy efficient lookup(), directory entries are hashed and | ||
| 176 | located based on the hash. In order to both support large directories | ||
| 177 | and not be overly inefficient for small directories, several hash | ||
| 178 | tables of increasing size are used. For each table, the hash value | ||
| 179 | modulo the table size gives the table index. | ||
| 180 | |||
| 181 | Tables sizes are chosen to limit the number of indirect blocks with a | ||
| 182 | fully populated table to 0, 1, 2 or 3 respectively. So the first | ||
| 183 | table contains 16 entries, the second 512-16, etc. | ||
| 184 | |||
| 185 | The last table is special in several ways. First its size depends on | ||
| 186 | the effective 32bit limit on telldir/seekdir cookies. Since logfs | ||
| 187 | uses the upper half of the address space for indirect blocks, the size | ||
| 188 | is limited to 2^31. Secondly the table contains hash buckets with 16 | ||
| 189 | entries each. | ||
| 190 | |||
| 191 | Using single-entry buckets would result in birthday "attacks". At | ||
| 192 | just 2^16 used entries, hash collisions would be likely (P >= 0.5). | ||
| 193 | My math skills are insufficient to do the combinatorics for the 17x | ||
| 194 | collisions necessary to overflow a bucket, but testing showed that in | ||
| 195 | 10,000 runs the lowest directory fill before a bucket overflow was | ||
| 196 | 188,057,130 entries with an average of 315,149,915 entries. So for | ||
| 197 | directory sizes of up to a million, bucket overflows should be | ||
| 198 | virtually impossible under normal circumstances. | ||
| 199 | |||
| 200 | With carefully chosen filenames, it is obviously possible to cause an | ||
| 201 | overflow with just 21 entries (4 higher tables + 16 entries + 1). So | ||
| 202 | there may be a security concern if a malicious user has write access | ||
| 203 | to a directory. | ||
| 204 | |||
| 205 | Open For Discussion | ||
| 206 | =================== | ||
| 207 | |||
| 208 | Device Address Space | ||
| 209 | -------------------- | ||
| 210 | |||
| 211 | A device address space is used for caching. Both block devices and | ||
| 212 | MTD provide functions to either read a single page or write a segment. | ||
| 213 | Partial segments may be written for data integrity, but where possible | ||
| 214 | complete segments are written for performance on simple block device | ||
| 215 | flash media. | ||
| 216 | |||
| 217 | Meta Inodes | ||
| 218 | ----------- | ||
| 219 | |||
| 220 | Inodes are stored in the inode file, which is just a regular file for | ||
| 221 | most purposes. At umount time, however, the inode file needs to | ||
| 222 | remain open until all dirty inodes are written. So | ||
| 223 | generic_shutdown_super() may not close this inode, but shouldn't | ||
| 224 | complain about remaining inodes due to the inode file either. Same | ||
| 225 | goes for mapping inode of the device address space. | ||
| 226 | |||
| 227 | Currently logfs uses a hack that essentially copies part of fs/inode.c | ||
| 228 | code over. A general solution would be preferred. | ||
| 229 | |||
| 230 | Indirect block mapping | ||
| 231 | ---------------------- | ||
| 232 | |||
| 233 | With compression, the block device (or mapping inode) cannot be used | ||
| 234 | to cache indirect blocks. Some other place is required. Currently | ||
| 235 | logfs uses the top half of each inode's address space. The low 8TB | ||
| 236 | (on 32bit) are filled with file data, the high 8TB are used for | ||
| 237 | indirect blocks. | ||
| 238 | |||
| 239 | One problem is that 16TB files created on 64bit systems actually have | ||
| 240 | data in the top 8TB. But files >16TB would cause problems anyway, so | ||
| 241 | only the limit has changed. | ||
| @@ -17,8 +17,7 @@ kernels must turn 4.1 on or off *before* turning support for version 4 · 16 unmodified lines | |||
| 17 | on or off; rpc.nfsd does this correctly.) | 17 | on or off; rpc.nfsd does this correctly.) |
| 18 | 18 | ||
| 19 | The NFSv4 minorversion 1 (NFSv4.1) implementation in nfsd is based | 19 | The NFSv4 minorversion 1 (NFSv4.1) implementation in nfsd is based |
| 20 | on the latest NFSv4.1 Internet Draft: | 20 | on RFC 5661. |
| 21 | http://tools.ietf.org/html/draft-ietf-nfsv4-minorversion1-29 | ||
| 22 | 21 | ||
| 23 | From the many new features in NFSv4.1 the current implementation | 22 | From the many new features in NFSv4.1 the current implementation |
| 24 | focuses on the mandatory-to-implement NFSv4.1 Sessions, providing | 23 | focuses on the mandatory-to-implement NFSv4.1 Sessions, providing |
| @@ -44,7 +43,7 @@ interoperability problems with future clients. Known issues: · 19 unmodified lines | |||
| 44 | trunking, but this is a mandatory feature, and its use is | 43 | trunking, but this is a mandatory feature, and its use is |
| 45 | recommended to clients in a number of places. (E.g. to ensure | 44 | recommended to clients in a number of places. (E.g. to ensure |
| 46 | timely renewal in case an existing connection's retry timeouts | 45 | timely renewal in case an existing connection's retry timeouts |
| 47 | have gotten too long; see section 8.3 of the draft.) | 46 | have gotten too long; see section 8.3 of the RFC.) |
| 48 | Therefore, lack of this feature may cause future clients to | 47 | Therefore, lack of this feature may cause future clients to |
| 49 | fail. | 48 | fail. |
| 50 | - Incomplete backchannel support: incomplete backchannel gss | 49 | - Incomplete backchannel support: incomplete backchannel gss |
| @@ -164,6 +164,7 @@ read the file /proc/PID/status: · 163 unmodified lines | |||
| 164 | VmExe: 68 kB | 164 | VmExe: 68 kB |
| 165 | VmLib: 1412 kB | 165 | VmLib: 1412 kB |
| 166 | VmPTE: 20 kb | 166 | VmPTE: 20 kb |
| 167 | VmSwap: 0 kB | ||
| 167 | Threads: 1 | 168 | Threads: 1 |
| 168 | SigQ: 0/28578 | 169 | SigQ: 0/28578 |
| 169 | SigPnd: 0000000000000000 | 170 | SigPnd: 0000000000000000 |
| @@ -188,7 +189,13 @@ memory usage. Its seven fields are explained in Table 1-3. The stat file · 18 unmodified lines | |||
| 188 | contains details information about the process itself. Its fields are | 189 | contains details information about the process itself. Its fields are |
| 189 | explained in Table 1-4. | 190 | explained in Table 1-4. |
| 190 | 191 | ||
| 191 | Table 1-2: Contents of the statm files (as of 2.6.30-rc7) | 192 | (for SMP CONFIG users) |
| 193 | For making accounting scalable, RSS related information are handled in | ||
| 194 | asynchronous manner and the vaule may not be very precise. To see a precise | ||
| 195 | snapshot of a moment, you can see /proc/<pid>/smaps file and scan page table. | ||
| 196 | It's slow but very precise. | ||
| 197 | |||
| 198 | Table 1-2: Contents of the status files (as of 2.6.30-rc7) | ||
| 192 | .............................................................................. | 199 | .............................................................................. |
| 193 | Field Content | 200 | Field Content |
| 194 | Name filename of the executable | 201 | Name filename of the executable |
| @@ -213,6 +220,7 @@ Table 1-2: Contents of the statm files (as of 2.6.30-rc7) · 18 unmodified lines | |||
| 213 | VmExe size of text segment | 220 | VmExe size of text segment |
| 214 | VmLib size of shared library code | 221 | VmLib size of shared library code |
| 215 | VmPTE size of page table entries | 222 | VmPTE size of page table entries |
| 223 | VmSwap size of swap usage (the number of referred swapents) | ||
| 216 | Threads number of threads | 224 | Threads number of threads |
| 217 | SigQ number of signals queued/max. number for queue | 225 | SigQ number of signals queued/max. number for queue |
| 218 | SigPnd bitmap of pending signals for the thread | 226 | SigPnd bitmap of pending signals for the thread |
| @@ -430,6 +438,7 @@ Table 1-5: Kernel info in /proc · 211 unmodified lines | |||
| 430 | modules List of loaded modules | 438 | modules List of loaded modules |
| 431 | mounts Mounted filesystems | 439 | mounts Mounted filesystems |
| 432 | net Networking info (see text) | 440 | net Networking info (see text) |
| 441 | pagetypeinfo Additional page allocator information (see text) (2.5) | ||
| 433 | partitions Table of partitions known to the system | 442 | partitions Table of partitions known to the system |
| 434 | pci Deprecated info of PCI bus (new way -> /proc/bus/pci/, | 443 | pci Deprecated info of PCI bus (new way -> /proc/bus/pci/, |
| 435 | decoupled by lspci (2.4) | 444 | decoupled by lspci (2.4) |
| @@ -584,7 +593,7 @@ Node 0, zone DMA 0 4 5 4 4 3 ... · 148 unmodified lines | |||
| 584 | Node 0, zone Normal 1 0 0 1 101 8 ... | 593 | Node 0, zone Normal 1 0 0 1 101 8 ... |
| 585 | Node 0, zone HighMem 2 0 0 1 1 0 ... | 594 | Node 0, zone HighMem 2 0 0 1 1 0 ... |
| 586 | 595 | ||
| 587 | Memory fragmentation is a problem under some workloads, and buddyinfo is a | 596 | External fragmentation is a problem under some workloads, and buddyinfo is a |
| 588 | useful tool for helping diagnose these problems. Buddyinfo will give you a | 597 | useful tool for helping diagnose these problems. Buddyinfo will give you a |
| 589 | clue as to how big an area you can safely allocate, or why a previous | 598 | clue as to how big an area you can safely allocate, or why a previous |
| 590 | allocation failed. | 599 | allocation failed. |
| @@ -594,6 +603,48 @@ available. In this case, there are 0 chunks of 2^0*PAGE_SIZE available in · 3 unmodified lines | |||
| 594 | ZONE_DMA, 4 chunks of 2^1*PAGE_SIZE in ZONE_DMA, 101 chunks of 2^4*PAGE_SIZE | 603 | ZONE_DMA, 4 chunks of 2^1*PAGE_SIZE in ZONE_DMA, 101 chunks of 2^4*PAGE_SIZE |
| 595 | available in ZONE_NORMAL, etc... | 604 | available in ZONE_NORMAL, etc... |
| 596 | 605 | ||
| 606 | More information relevant to external fragmentation can be found in | ||
| 607 | pagetypeinfo. | ||
| 608 | |||
| 609 | > cat /proc/pagetypeinfo | ||
| 610 | Page block order: 9 | ||
| 611 | Pages per block: 512 | ||
| 612 | |||
| 613 | Free pages count per migrate type at order 0 1 2 3 4 5 6 7 8 9 10 | ||
| 614 | Node 0, zone DMA, type Unmovable 0 0 0 1 1 1 1 1 1 1 0 | ||
| 615 | Node 0, zone DMA, type Reclaimable 0 0 0 0 0 0 0 0 0 0 0 | ||
| 616 | Node 0, zone DMA, type Movable 1 1 2 1 2 1 1 0 1 0 2 | ||
| 617 | Node 0, zone DMA, type Reserve 0 0 0 0 0 0 0 0 0 1 0 | ||
| 618 | Node 0, zone DMA, type Isolate 0 0 0 0 0 0 0 0 0 0 0 | ||
| 619 | Node 0, zone DMA32, type Unmovable 103 54 77 1 1 1 11 8 7 1 9 | ||
| 620 | Node 0, zone DMA32, type Reclaimable 0 0 2 1 0 0 0 0 1 0 0 | ||
| 621 | Node 0, zone DMA32, type Movable 169 152 113 91 77 54 39 13 6 1 452 | ||
| 622 | Node 0, zone DMA32, type Reserve 1 2 2 2 2 0 1 1 1 1 0 | ||
| 623 | Node 0, zone DMA32, type Isolate 0 0 0 0 0 0 0 0 0 0 0 | ||
| 624 | |||
| 625 | Number of blocks type Unmovable Reclaimable Movable Reserve Isolate | ||
| 626 | Node 0, zone DMA 2 0 5 1 0 | ||
| 627 | Node 0, zone DMA32 41 6 967 2 0 | ||
| 628 | |||
| 629 | Fragmentation avoidance in the kernel works by grouping pages of different | ||
| 630 | migrate types into the same contiguous regions of memory called page blocks. | ||
| 631 | A page block is typically the size of the default hugepage size e.g. 2MB on | ||
| 632 | X86-64. By keeping pages grouped based on their ability to move, the kernel | ||
| 633 | can reclaim pages within a page block to satisfy a high-order allocation. | ||
| 634 | |||
| 635 | The pagetypinfo begins with information on the size of a page block. It | ||
| 636 | then gives the same type of information as buddyinfo except broken down | ||
| 637 | by migrate-type and finishes with details on how many page blocks of each | ||
| 638 | type exist. | ||
| 639 | |||
| 640 | If min_free_kbytes has been tuned correctly (recommendations made by hugeadm | ||
| 641 | from libhugetlbfs http://sourceforge.net/projects/libhugetlbfs/), one can | ||
| 642 | make an estimate of the likely number of huge pages that can be allocated | ||
| 643 | at a given point in time. All the "Movable" blocks should be allocatable | ||
| 644 | unless memory has been mlock()'d. Some of the Reclaimable blocks should | ||
| 645 | also be allocatable although a lot of filesystem metadata may have to be | ||
| 646 | reclaimed to achieve this. | ||
| 647 | |||
| 597 | .............................................................................. | 648 | .............................................................................. |
| 598 | 649 | ||
| 599 | meminfo: | 650 | meminfo: |
| @@ -837,6 +837,9 @@ replicas continue to be exactly same. · 836 unmodified lines | |||
| 837 | individual lists does not affect propagation or the way propagation | 837 | individual lists does not affect propagation or the way propagation |
| 838 | tree is modified by operations. | 838 | tree is modified by operations. |
| 839 | 839 | ||
| 840 | All vfsmounts in a peer group have the same ->mnt_master. If it is | ||
| 841 | non-NULL, they form a contiguous (ordered) segment of slave list. | ||
| 842 | |||
| 840 | A example propagation tree looks as shown in the figure below. | 843 | A example propagation tree looks as shown in the figure below. |
| 841 | [ NOTE: Though it looks like a forest, if we consider all the shared | 844 | [ NOTE: Though it looks like a forest, if we consider all the shared |
| 842 | mounts as a conceptual entity called 'pnode', it becomes a tree] | 845 | mounts as a conceptual entity called 'pnode', it becomes a tree] |
| @@ -874,8 +877,19 @@ replicas continue to be exactly same. · 31 unmodified lines | |||
| 874 | 877 | ||
| 875 | NOTE: The propagation tree is orthogonal to the mount tree. | 878 | NOTE: The propagation tree is orthogonal to the mount tree. |
| 876 | 879 | ||
| 880 | 8B Locking: | ||
| 881 | |||
| 882 | ->mnt_share, ->mnt_slave, ->mnt_slave_list, ->mnt_master are protected | ||
| 883 | by namespace_sem (exclusive for modifications, shared for reading). | ||
| 884 | |||
| 885 | Normally we have ->mnt_flags modifications serialized by vfsmount_lock. | ||
| 886 | There are two exceptions: do_add_mount() and clone_mnt(). | ||
| 887 | The former modifies a vfsmount that has not been visible in any shared | ||
| 888 | data structures yet. | ||
| 889 | The latter holds namespace_sem and the only references to vfsmount | ||
| 890 | are in lists that can't be traversed without namespace_sem. | ||
| 877 | 891 | ||
| 878 | 8B Algorithm: | 892 | 8C Algorithm: |
| 879 | 893 | ||
| 880 | The crux of the implementation resides in rbind/move operation. | 894 | The crux of the implementation resides in rbind/move operation. |
| 881 | 895 | ||
| @@ -82,11 +82,13 @@ tmpfs has a mount option to set the NUMA memory allocation policy for · 81 unmodified lines | |||
| 82 | all files in that instance (if CONFIG_NUMA is enabled) - which can be | 82 | all files in that instance (if CONFIG_NUMA is enabled) - which can be |
| 83 | adjusted on the fly via 'mount -o remount ...' | 83 | adjusted on the fly via 'mount -o remount ...' |
| 84 | 84 | ||
| 85 | mpol=default prefers to allocate memory from the local node | 85 | mpol=default use the process allocation policy |
| 86 | (see set_mempolicy(2)) | ||
| 86 | mpol=prefer:Node prefers to allocate memory from the given Node | 87 | mpol=prefer:Node prefers to allocate memory from the given Node |
| 87 | mpol=bind:NodeList allocates memory only from nodes in NodeList | 88 | mpol=bind:NodeList allocates memory only from nodes in NodeList |
| 88 | mpol=interleave prefers to allocate from each node in turn | 89 | mpol=interleave prefers to allocate from each node in turn |
| 89 | mpol=interleave:NodeList allocates from each node of NodeList in turn | 90 | mpol=interleave:NodeList allocates from each node of NodeList in turn |
| 91 | mpol=local prefers to allocate memory from the local node | ||
| 90 | 92 | ||
| 91 | NodeList format is a comma-separated list of decimal numbers and ranges, | 93 | NodeList format is a comma-separated list of decimal numbers and ranges, |
| 92 | a range being two hyphen-separated decimal numbers, the smallest and | 94 | a range being two hyphen-separated decimal numbers, the smallest and |
| @@ -134,3 +136,5 @@ Author: · 41 unmodified lines | |||
| 134 | Christoph Rohland <cr@sap.com>, 1.12.01 | 136 | Christoph Rohland <cr@sap.com>, 1.12.01 |
| 135 | Updated: | 137 | Updated: |
| 136 | Hugh Dickins, 4 June 2007 | 138 | Hugh Dickins, 4 June 2007 |
| 139 | Updated: | ||
| 140 | KOSAKI Motohiro, 16 Mar 2010 | ||
| @@ -253,6 +253,70 @@ pin setup (e.g. controlling which pin the GPIO uses, pullup/pulldown). · 252 unmodified lines | |||
| 253 | Also note that it's your responsibility to have stopped using a GPIO | 253 | Also note that it's your responsibility to have stopped using a GPIO |
| 254 | before you free it. | 254 | before you free it. |
| 255 | 255 | ||
| 256 | Considering in most cases GPIOs are actually configured right after they | ||
| 257 | are claimed, three additional calls are defined: | ||
| 258 | |||
| 259 | /* request a single GPIO, with initial configuration specified by | ||
| 260 | * 'flags', identical to gpio_request() wrt other arguments and | ||
| 261 | * return value | ||
| 262 | */ | ||
| 263 | int gpio_request_one(unsigned gpio, unsigned long flags, const char *label); | ||
| 264 | |||
| 265 | /* request multiple GPIOs in a single call | ||
| 266 | */ | ||
| 267 | int gpio_request_array(struct gpio *array, size_t num); | ||
| 268 | |||
| 269 | /* release multiple GPIOs in a single call | ||
| 270 | */ | ||
| 271 | void gpio_free_array(struct gpio *array, size_t num); | ||
| 272 | |||
| 273 | where 'flags' is currently defined to specify the following properties: | ||
| 274 | |||
| 275 | * GPIOF_DIR_IN - to configure direction as input | ||
| 276 | * GPIOF_DIR_OUT - to configure direction as output | ||
| 277 | |||
| 278 | * GPIOF_INIT_LOW - as output, set initial level to LOW | ||
| 279 | * GPIOF_INIT_HIGH - as output, set initial level to HIGH | ||
| 280 | |||
| 281 | since GPIOF_INIT_* are only valid when configured as output, so group valid | ||
| 282 | combinations as: | ||
| 283 | |||
| 284 | * GPIOF_IN - configure as input | ||
| 285 | * GPIOF_OUT_INIT_LOW - configured as output, initial level LOW | ||
| 286 | * GPIOF_OUT_INIT_HIGH - configured as output, initial level HIGH | ||
| 287 | |||
| 288 | In the future, these flags can be extended to support more properties such | ||
| 289 | as open-drain status. | ||
| 290 | |||
| 291 | Further more, to ease the claim/release of multiple GPIOs, 'struct gpio' is | ||
| 292 | introduced to encapsulate all three fields as: | ||
| 293 | |||
| 294 | struct gpio { | ||
| 295 | unsigned gpio; | ||
| 296 | unsigned long flags; | ||
| 297 | const char *label; | ||
| 298 | }; | ||
| 299 | |||
| 300 | A typical example of usage: | ||
| 301 | |||
| 302 | static struct gpio leds_gpios[] = { | ||
| 303 | { 32, GPIOF_OUT_INIT_HIGH, "Power LED" }, /* default to ON */ | ||
| 304 | { 33, GPIOF_OUT_INIT_LOW, "Green LED" }, /* default to OFF */ | ||
| 305 | { 34, GPIOF_OUT_INIT_LOW, "Red LED" }, /* default to OFF */ | ||
| 306 | { 35, GPIOF_OUT_INIT_LOW, "Blue LED" }, /* default to OFF */ | ||
| 307 | { ... }, | ||
| 308 | }; | ||
| 309 | |||
| 310 | err = gpio_request_one(31, GPIOF_IN, "Reset Button"); | ||
| 311 | if (err) | ||
| 312 | ... | ||
| 313 | |||
| 314 | err = gpio_request_array(leds_gpios, ARRAY_SIZE(leds_gpios)); | ||
| 315 | if (err) | ||
| 316 | ... | ||
| 317 | |||
| 318 | gpio_free_array(leds_gpios, ARRAY_SIZE(leds_gpios)); | ||
| 319 | |||
| 256 | 320 | ||
| 257 | GPIOs mapped to IRQs | 321 | GPIOs mapped to IRQs |
| 258 | -------------------- | 322 | -------------------- |
| @@ -30,7 +30,7 @@ Supported chips: · 29 unmodified lines | |||
| 30 | bank1_types=1,1,0,0,0,0,0,2,0,0,0,0,2,0,0,1 | 30 | bank1_types=1,1,0,0,0,0,0,2,0,0,0,0,2,0,0,1 |
| 31 | You may also need to specify the fan_sensors option for these boards | 31 | You may also need to specify the fan_sensors option for these boards |
| 32 | fan_sensors=5 | 32 | fan_sensors=5 |
| 33 | 2) There is a seperate abituguru3 driver for these motherboards, | 33 | 2) There is a separate abituguru3 driver for these motherboards, |
| 34 | the abituguru (without the 3 !) driver will not work on these | 34 | the abituguru (without the 3 !) driver will not work on these |
| 35 | motherboards (and visa versa)! | 35 | motherboards (and visa versa)! |
| 36 | 36 | ||
| @@ -0,0 +1,42 @@ | |||
| 1 | Kernel driver adt7411 | ||
| 2 | ===================== | ||
| 3 | |||
| 4 | Supported chips: | ||
| 5 | * Analog Devices ADT7411 | ||
| 6 | Prefix: 'adt7411' | ||
| 7 | Addresses scanned: 0x48, 0x4a, 0x4b | ||
| 8 | Datasheet: Publicly available at the Analog Devices website | ||
| 9 | |||
| 10 | Author: Wolfram Sang (based on adt7470 by Darrick J. Wong) | ||
| 11 | |||
| 12 | Description | ||
| 13 | ----------- | ||
| 14 | |||
| 15 | This driver implements support for the Analog Devices ADT7411 chip. There may | ||
| 16 | be other chips that implement this interface. | ||
| 17 | |||
| 18 | The ADT7411 can use an I2C/SMBus compatible 2-wire interface or an | ||
| 19 | SPI-compatible 4-wire interface. It provides a 10-bit analog to digital | ||
| 20 | converter which measures 1 temperature, vdd and 8 input voltages. It has an | ||
| 21 | internal temperature sensor, but an external one can also be connected (one | ||
| 22 | loses 2 inputs then). There are high- and low-limit registers for all inputs. | ||
| 23 | |||
| 24 | Check the datasheet for details. | ||
| 25 | |||
| 26 | sysfs-Interface | ||
| 27 | --------------- | ||
| 28 | |||
| 29 | in0_input - vdd voltage input | ||
| 30 | in[1-8]_input - analog 1-8 input | ||
| 31 | temp1_input - temperature input | ||
| 32 | |||
| 33 | Besides standard interfaces, this driver adds (0 = off, 1 = on): | ||
| 34 | |||
| 35 | adc_ref_vdd - Use vdd as reference instead of 2.25 V | ||
| 36 | fast_sampling - Sample at 22.5 kHz instead of 1.4 kHz, but drop filters | ||
| 37 | no_average - Turn off averaging over 16 samples | ||
| 38 | |||
| 39 | Notes | ||
| 40 | ----- | ||
| 41 | |||
| 42 | SPI, external temperature sensor and limit registers are not supported yet. | ||
| @@ -1,74 +0,0 @@ | |||
| 1 | Kernel driver adt7473 | ||
| 2 | ====================== | ||
| 3 | |||
| 4 | Supported chips: | ||
| 5 | * Analog Devices ADT7473 | ||
| 6 | Prefix: 'adt7473' | ||
| 7 | Addresses scanned: I2C 0x2C, 0x2D, 0x2E | ||
| 8 | Datasheet: Publicly available at the Analog Devices website | ||
| 9 | |||
| 10 | Author: Darrick J. Wong | ||
| 11 | |||
| 12 | This driver is depreacted, please use the adt7475 driver instead. | ||
| 13 | |||
| 14 | Description | ||
| 15 | ----------- | ||
| 16 | |||
| 17 | This driver implements support for the Analog Devices ADT7473 chip family. | ||
| 18 | |||
| 19 | The ADT7473 uses the 2-wire interface compatible with the SMBUS 2.0 | ||
| 20 | specification. Using an analog to digital converter it measures three (3) | ||
| 21 | temperatures and two (2) voltages. It has four (4) 16-bit counters for | ||
| 22 | measuring fan speed. There are three (3) PWM outputs that can be used | ||
| 23 | to control fan speed. | ||
| 24 | |||
| 25 | A sophisticated control system for the PWM outputs is designed into the | ||
| 26 | ADT7473 that allows fan speed to be adjusted automatically based on any of the | ||
| 27 | three temperature sensors. Each PWM output is individually adjustable and | ||
| 28 | programmable. Once configured, the ADT7473 will adjust the PWM outputs in | ||
| 29 | response to the measured temperatures without further host intervention. | ||
| 30 | This feature can also be disabled for manual control of the PWM's. | ||
| 31 | |||
| 32 | Each of the measured inputs (voltage, temperature, fan speed) has | ||
| 33 | corresponding high/low limit values. The ADT7473 will signal an ALARM if | ||
| 34 | any measured value exceeds either limit. | ||
| 35 | |||
| 36 | The ADT7473 samples all inputs continuously. The driver will not read | ||
| 37 | the registers more often than once every other second. Further, | ||
| 38 | configuration data is only read once per minute. | ||
| 39 | |||
| 40 | Special Features | ||
| 41 | ---------------- | ||
| 42 | |||
| 43 | The ADT7473 have a 10-bit ADC and can therefore measure temperatures | ||
| 44 | with 0.25 degC resolution. Temperature readings can be configured either | ||
| 45 | for twos complement format or "Offset 64" format, wherein 63 is subtracted | ||
| 46 | from the raw value to get the temperature value. | ||
| 47 | |||
| 48 | The Analog Devices datasheet is very detailed and describes a procedure for | ||
| 49 | determining an optimal configuration for the automatic PWM control. | ||
| 50 | |||
| 51 | Configuration Notes | ||
| 52 | ------------------- | ||
| 53 | |||
| 54 | Besides standard interfaces driver adds the following: | ||
| 55 | |||
| 56 | * PWM Control | ||
| 57 | |||
| 58 | * pwm#_auto_point1_pwm and temp#_auto_point1_temp and | ||
| 59 | * pwm#_auto_point2_pwm and temp#_auto_point2_temp - | ||
| 60 | |||
| 61 | point1: Set the pwm speed at a lower temperature bound. | ||
| 62 | point2: Set the pwm speed at a higher temperature bound. | ||
| 63 | |||
| 64 | The ADT7473 will scale the pwm between the lower and higher pwm speed when | ||
| 65 | the temperature is between the two temperature boundaries. PWM values range | ||
| 66 | from 0 (off) to 255 (full speed). Fan speed will be set to maximum when the | ||
| 67 | temperature sensor associated with the PWM control exceeds temp#_max. | ||
| 68 | |||
| 69 | Notes | ||
| 70 | ----- | ||
| 71 | |||
| 72 | The NVIDIA binary driver presents an ADT7473 chip via an on-card i2c bus. | ||
| 73 | Unfortunately, they fail to set the i2c adapter class, so this driver may | ||
| 74 | fail to find the chip until the nvidia driver is patched. | ||
| @@ -0,0 +1,296 @@ | |||
| 1 | Kernel driver asc7621 | ||
| 2 | ================== | ||
| 3 | |||
| 4 | Supported chips: | ||
| 5 | Andigilog aSC7621 and aSC7621a | ||
| 6 | Prefix: 'asc7621' | ||
| 7 | Addresses scanned: I2C 0x2c, 0x2d, 0x2e | ||
| 8 | Datasheet: http://www.fairview5.com/linux/asc7621/asc7621.pdf | ||
| 9 | |||
| 10 | Author: | ||
| 11 | George Joseph | ||
| 12 | |||
| 13 | Description provided by Dave Pivin @ Andigilog: | ||
| 14 | |||
| 15 | Andigilog has both the PECI and pre-PECI versions of the Heceta-6, as | ||
| 16 | Intel calls them. Heceta-6e has high frequency PWM and Heceta-6p has | ||
| 17 | added PECI and a 4th thermal zone. The Andigilog aSC7611 is the | ||
| 18 | Heceta-6e part and aSC7621 is the Heceta-6p part. They are both in | ||
| 19 | volume production, shipping to Intel and their subs. | ||
| 20 | |||
| 21 | We have enhanced both parts relative to the governing Intel | ||
| 22 | specification. First enhancement is temperature reading resolution. We | ||
| 23 | have used registers below 20h for vendor-specific functions in addition | ||
| 24 | to those in the Intel-specified vendor range. | ||
| 25 | |||
| 26 | Our conversion process produces a result that is reported as two bytes. | ||
| 27 | The fan speed control uses this finer value to produce a "step-less" fan | ||
| 28 | PWM output. These two bytes are "read-locked" to guarantee that once a | ||
| 29 | high or low byte is read, the other byte is locked-in until after the | ||
| 30 | next read of any register. So to get an atomic reading, read high or low | ||
| 31 | byte, then the very next read should be the opposite byte. Our data | ||
| 32 | sheet says 10-bits of resolution, although you may find the lower bits | ||
| 33 | are active, they are not necessarily reliable or useful externally. We | ||
| 34 | chose not to mask them. | ||
| 35 | |||
| 36 | We employ significant filtering that is user tunable as described in the | ||
| 37 | data sheet. Our temperature reports and fan PWM outputs are very smooth | ||
| 38 | when compared to the competition, in addition to the higher resolution | ||
| 39 | temperature reports. The smoother PWM output does not require user | ||
| 40 | intervention. | ||
| 41 | |||
| 42 | We offer GPIO features on the former VID pins. These are open-drain | ||
| 43 | outputs or inputs and may be used as general purpose I/O or as alarm | ||
| 44 | outputs that are based on temperature limits. These are in 19h and 1Ah. | ||
| 45 | |||
| 46 | We offer flexible mapping of temperature readings to thermal zones. Any | ||
| 47 | temperature may be mapped to any zone, which has a default assignment | ||
| 48 | that follows Intel's specs. | ||
| 49 | |||
| 50 | Since there is a fan to zone assignment that allows for the "hotter" of | ||
| 51 | a set of zones to control the PWM of an individual fan, but there is no | ||
| 52 | indication to the user, we have added an indicator that shows which zone | ||
| 53 | is currently controlling the PWM for a given fan. This is in register | ||
| 54 | 00h. | ||
| 55 | |||
| 56 | Both remote diode temperature readings may be given an offset value such | ||
| 57 | that the reported reading as well as the temperature used to determine | ||
| 58 | PWM may be offset for system calibration purposes. | ||
| 59 | |||
| 60 | PECI Extended configuration allows for having more than two domains per | ||
| 61 | PECI address and also provides an enabling function for each PECI | ||
| 62 | address. One could use our flexible zone assignment to have a zone | ||
| 63 | assigned to up to 4 PECI addresses. This is not possible in the default | ||
| 64 | Intel configuration. This would be useful in multi-CPU systems with | ||
| 65 | individual fans on each that would benefit from individual fan control. | ||
| 66 | This is in register 0Eh. | ||
| 67 | |||
| 68 | The tachometer measurement system is flexible and able to adapt to many | ||
| 69 | fan types. We can also support pulse-stretched PWM so that 3-wire fans | ||
| 70 | may be used. These characteristics are in registers 04h to 07h. | ||
| 71 | |||
| 72 | Finally, we have added a tach disable function that turns off the tach | ||
| 73 | measurement system for individual tachs in order to save power. That is | ||
| 74 | in register 75h. | ||
| 75 | |||
| 76 | -- | ||
| 77 | aSC7621 Product Description | ||
| 78 | |||
| 79 | The aSC7621 has a two wire digital interface compatible with SMBus 2.0. | ||
| 80 | Using a 10-bit ADC, the aSC7621 measures the temperature of two remote diode | ||
| 81 | connected transistors as well as its own die. Support for Platform | ||
| 82 | Environmental Control Interface (PECI) is included. | ||
| 83 | |||
| 84 | Using temperature information from these four zones, an automatic fan speed | ||
| 85 | control algorithm is employed to minimize acoustic impact while achieving | ||
| 86 | recommended CPU temperature under varying operational loads. | ||
| 87 | |||
| 88 | To set fan speed, the aSC7621 has three independent pulse width modulation | ||
| 89 | (PWM) outputs that are controlled by one, or a combination of three, | ||
| 90 | temperature zones. Both high- and low-frequency PWM ranges are supported. | ||
| 91 | |||
| 92 | The aSC7621 also includes a digital filter that can be invoked to smooth | ||
| 93 | temperature readings for better control of fan speed and minimum acoustic | ||
| 94 | impact. | ||
| 95 | |||
| 96 | The aSC7621 has tachometer inputs to measure fan speed on up to four fans. | ||
| 97 | Limit and status registers for all measured values are included to alert | ||
| 98 | the system host that any measurements are outside of programmed limits | ||
| 99 | via status registers. | ||
| 100 | |||
| 101 | System voltages of VCCP, 2.5V, 3.3V, 5.0V, and 12V motherboard power are | ||
| 102 | monitored efficiently with internal scaling resistors. | ||
| 103 | |||
| 104 | Features | ||
| 105 | - Supports PECI interface and monitors internal and remote thermal diodes | ||
| 106 | - 2-wire, SMBus 2.0 compliant, serial interface | ||
| 107 | - 10-bit ADC | ||
| 108 | - Monitors VCCP, 2.5V, 3.3V, 5.0V, and 12V motherboard/processor supplies | ||
| 109 | - Programmable autonomous fan control based on temperature readings | ||
| 110 | - Noise filtering of temperature reading for fan speed control | ||
| 111 | - 0.25C digital temperature sensor resolution | ||
| 112 | - 3 PWM fan speed control outputs for 2-, 3- or 4-wire fans and up to 4 fan | ||
| 113 | tachometer inputs | ||
| 114 | - Enhanced measured temperature to Temperature Zone assignment. | ||
| 115 | - Provides high and low PWM frequency ranges | ||
| 116 | - 3 GPIO pins for custom use | ||
| 117 | - 24-Lead QSOP package | ||
| 118 | |||
| 119 | Configuration Notes | ||
| 120 | =================== | ||
| 121 | |||
| 122 | Except where noted below, the sysfs entries created by this driver follow | ||
| 123 | the standards defined in "sysfs-interface". | ||
| 124 | |||
| 125 | temp1_source | ||
| 126 | 0 (default) peci_legacy = 0, Remote 1 Temperature | ||
| 127 | peci_legacy = 1, PECI Processor Temperature 0 | ||
| 128 | 1 Remote 1 Temperature | ||
| 129 | 2 Remote 2 Temperature | ||
| 130 | 3 Internal Temperature | ||
| 131 | 4 PECI Processor Temperature 0 | ||
| 132 | 5 PECI Processor Temperature 1 | ||
| 133 | 6 PECI Processor Temperature 2 | ||
| 134 | 7 PECI Processor Temperature 3 | ||
| 135 | |||
| 136 | temp2_source | ||
| 137 | 0 (default) Internal Temperature | ||
| 138 | 1 Remote 1 Temperature | ||
| 139 | 2 Remote 2 Temperature | ||
| 140 | 3 Internal Temperature | ||
| 141 | 4 PECI Processor Temperature 0 | ||
| 142 | 5 PECI Processor Temperature 1 | ||
| 143 | 6 PECI Processor Temperature 2 | ||
| 144 | 7 PECI Processor Temperature 3 | ||
| 145 | |||
| 146 | temp3_source | ||
| 147 | 0 (default) Remote 2 Temperature | ||
| 148 | 1 Remote 1 Temperature | ||
| 149 | 2 Remote 2 Temperature | ||
| 150 | 3 Internal Temperature | ||
| 151 | 4 PECI Processor Temperature 0 | ||
| 152 | 5 PECI Processor Temperature 1 | ||
| 153 | 6 PECI Processor Temperature 2 | ||
| 154 | 7 PECI Processor Temperature 3 | ||
| 155 | |||
| 156 | temp4_source | ||
| 157 | 0 (default) peci_legacy = 0, PECI Processor Temperature 0 | ||
| 158 | peci_legacy = 1, Remote 1 Temperature | ||
| 159 | 1 Remote 1 Temperature | ||
| 160 | 2 Remote 2 Temperature | ||
| 161 | 3 Internal Temperature | ||
| 162 | 4 PECI Processor Temperature 0 | ||
| 163 | 5 PECI Processor Temperature 1 | ||
| 164 | 6 PECI Processor Temperature 2 | ||
| 165 | 7 PECI Processor Temperature 3 | ||
| 166 | |||
| 167 | temp[1-4]_smoothing_enable | ||
| 168 | temp[1-4]_smoothing_time | ||
| 169 | Smooths spikes in temp readings caused by noise. | ||
| 170 | Valid values in milliseconds are: | ||
| 171 | 35000 | ||
| 172 | 17600 | ||
| 173 | 11800 | ||
| 174 | 7000 | ||
| 175 | 4400 | ||
| 176 | 3000 | ||
| 177 | 1600 | ||
| 178 | 800 | ||
| 179 | |||
| 180 | temp[1-4]_crit | ||
| 181 | When the corresponding zone temperature reaches this value, | ||
| 182 | ALL pwm outputs will got to 100%. | ||
| 183 | |||
| 184 | temp[5-8]_input | ||
| 185 | temp[5-8]_enable | ||
| 186 | The aSC7621 can also read temperatures provided by the processor | ||
| 187 | via the PECI bus. Usually these are "core" temps and are relative | ||
| 188 | to the point where the automatic thermal control circuit starts | ||
| 189 | throttling. This means that these are usually negative numbers. | ||
| 190 | |||
| 191 | pwm[1-3]_enable | ||
| 192 | 0 Fan off. | ||
| 193 | 1 Fan on manual control. | ||
| 194 | 2 Fan on automatic control and will run at the minimum pwm | ||
| 195 | if the temperature for the zone is below the minimum. | ||
| 196 | 3 Fan on automatic control but will be off if the temperature | ||
| 197 | for the zone is below the minimum. | ||
| 198 | 4-254 Ignored. | ||
| 199 | 255 Fan on full. | ||
| 200 | |||
| 201 | pwm[1-3]_auto_channels | ||
| 202 | Bitmap as described in sysctl-interface with the following | ||
| 203 | exceptions... | ||
| 204 | Only the following combination of zones (and their corresponding masks) | ||
| 205 | are valid: | ||
| 206 | 1 | ||
| 207 | 2 | ||
| 208 | 3 | ||
| 209 | 2,3 | ||
| 210 | 1,2,3 | ||
| 211 | 4 | ||
| 212 | 1,2,3,4 | ||
| 213 | |||
| 214 | Special values: | ||
| 215 | 0 Disabled. | ||
| 216 | 16 Fan on manual control. | ||
| 217 | 31 Fan on full. | ||
| 218 | |||
| 219 | |||
| 220 | pwm[1-3]_invert | ||
| 221 | When set, inverts the meaning of pwm[1-3]. | ||
| 222 | i.e. when pwm = 0, the fan will be on full and | ||
| 223 | when pwm = 255 the fan will be off. | ||
| 224 | |||
| 225 | pwm[1-3]_freq | ||
| 226 | PWM frequency in Hz | ||
| 227 | Valid values in Hz are: | ||
| 228 | |||
| 229 | 10 | ||
| 230 | 15 | ||
| 231 | 23 | ||
| 232 | 30 (default) | ||
| 233 | 38 | ||
| 234 | 47 | ||
| 235 | 62 | ||
| 236 | 94 | ||
| 237 | 23000 | ||
| 238 | 24000 | ||
| 239 | 25000 | ||
| 240 | 26000 | ||
| 241 | 27000 | ||
| 242 | 28000 | ||
| 243 | 29000 | ||
| 244 | 30000 | ||
| 245 | |||
| 246 | Setting any other value will be ignored. | ||
| 247 | |||
| 248 | peci_enable | ||
| 249 | Enables or disables PECI | ||
| 250 | |||
| 251 | peci_avg | ||
| 252 | Input filter average time. | ||
| 253 | |||
| 254 | 0 0 Sec. (no Smoothing) (default) | ||
| 255 | 1 0.25 Sec. | ||
| 256 | 2 0.5 Sec. | ||
| 257 | 3 1.0 Sec. | ||
| 258 | 4 2.0 Sec. | ||
| 259 | 5 4.0 Sec. | ||
| 260 | 6 8.0 Sec. | ||
| 261 | 7 0.0 Sec. | ||
| 262 | |||
| 263 | peci_legacy | ||
| 264 | |||
| 265 | 0 Standard Mode (default) | ||
| 266 | Remote Diode 1 reading is associated with | ||
| 267 | Temperature Zone 1, PECI is associated with | ||
| 268 | Zone 4 | ||
| 269 | |||
| 270 | 1 Legacy Mode | ||
| 271 | PECI is associated with Temperature Zone 1, | ||
| 272 | Remote Diode 1 is associated with Zone 4 | ||
| 273 | |||
| 274 | peci_diode | ||
| 275 | Diode filter | ||
| 276 | |||
| 277 | 0 0.25 Sec. | ||
| 278 | 1 1.1 Sec. | ||
| 279 | 2 2.4 Sec. (default) | ||
| 280 | 3 3.4 Sec. | ||
| 281 | 4 5.0 Sec. | ||
| 282 | 5 6.8 Sec. | ||
| 283 | 6 10.2 Sec. | ||
| 284 | 7 16.4 Sec. | ||
| 285 | |||
| 286 | peci_4domain | ||
| 287 | Four domain enable | ||
| 288 | |||
| 289 | 0 1 or 2 Domains for enabled processors (default) | ||
| 290 | 1 3 or 4 Domains for enabled processors | ||
| 291 | |||
| 292 | peci_domain | ||
| 293 | Domain | ||
| 294 | |||
| 295 | 0 Processor contains a single domain (0) (default) | ||
| 296 | 1 Processor contains two domains (0,1) | ||
| @@ -5,31 +5,23 @@ Supported chips: · 4 unmodified lines | |||
| 5 | * IT8705F | 5 | * IT8705F |
| 6 | Prefix: 'it87' | 6 | Prefix: 'it87' |
| 7 | Addresses scanned: from Super I/O config space (8 I/O ports) | 7 | Addresses scanned: from Super I/O config space (8 I/O ports) |
| 8 | Datasheet: Publicly available at the ITE website | 8 | Datasheet: Once publicly available at the ITE website, but no longer |
| 9 | http://www.ite.com.tw/product_info/file/pc/IT8705F_V.0.4.1.pdf | ||
| 10 | * IT8712F | 9 | * IT8712F |
| 11 | Prefix: 'it8712' | 10 | Prefix: 'it8712' |
| 12 | Addresses scanned: from Super I/O config space (8 I/O ports) | 11 | Addresses scanned: from Super I/O config space (8 I/O ports) |
| 13 | Datasheet: Publicly available at the ITE website | 12 | Datasheet: Once publicly available at the ITE website, but no longer |
| 14 | http://www.ite.com.tw/product_info/file/pc/IT8712F_V0.9.1.pdf | ||
| 15 | http://www.ite.com.tw/product_info/file/pc/Errata%20V0.1%20for%20IT8712F%20V0.9.1.pdf | ||
| 16 | http://www.ite.com.tw/product_info/file/pc/IT8712F_V0.9.3.pdf | ||
| 17 | * IT8716F/IT8726F | 13 | * IT8716F/IT8726F |
| 18 | Prefix: 'it8716' | 14 | Prefix: 'it8716' |
| 19 | Addresses scanned: from Super I/O config space (8 I/O ports) | 15 | Addresses scanned: from Super I/O config space (8 I/O ports) |
| 20 | Datasheet: Publicly available at the ITE website | 16 | Datasheet: Once publicly available at the ITE website, but no longer |
| 21 | http://www.ite.com.tw/product_info/file/pc/IT8716F_V0.3.ZIP | ||
| 22 | http://www.ite.com.tw/product_info/file/pc/IT8726F_V0.3.pdf | ||
| 23 | * IT8718F | 17 | * IT8718F |
| 24 | Prefix: 'it8718' | 18 | Prefix: 'it8718' |
| 25 | Addresses scanned: from Super I/O config space (8 I/O ports) | 19 | Addresses scanned: from Super I/O config space (8 I/O ports) |
| 26 | Datasheet: Publicly available at the ITE website | 20 | Datasheet: Once publicly available at the ITE website, but no longer |
| 27 | http://www.ite.com.tw/product_info/file/pc/IT8718F_V0.2.zip | ||
| 28 | http://www.ite.com.tw/product_info/file/pc/IT8718F_V0%203_(for%20C%20version).zip | ||
| 29 | * IT8720F | 21 | * IT8720F |
| 30 | Prefix: 'it8720' | 22 | Prefix: 'it8720' |
| 31 | Addresses scanned: from Super I/O config space (8 I/O ports) | 23 | Addresses scanned: from Super I/O config space (8 I/O ports) |
| 32 | Datasheet: Not yet publicly available. | 24 | Datasheet: Not publicly available |
| 33 | * SiS950 [clone of IT8705F] | 25 | * SiS950 [clone of IT8705F] |
| 34 | Prefix: 'it87' | 26 | Prefix: 'it87' |
| 35 | Addresses scanned: from Super I/O config space (8 I/O ports) | 27 | Addresses scanned: from Super I/O config space (8 I/O ports) |
| @@ -136,6 +128,10 @@ registers are read whenever any data is read (unless it is less than 1.5 · 100 unmodified lines | |||
| 136 | seconds since the last update). This means that you can easily miss | 128 | seconds since the last update). This means that you can easily miss |
| 137 | once-only alarms. | 129 | once-only alarms. |
| 138 | 130 | ||
| 131 | Out-of-limit readings can also result in beeping, if the chip is properly | ||
| 132 | wired and configured. Beeping can be enabled or disabled per sensor type | ||
| 133 | (temperatures, voltages and fans.) | ||
| 134 | |||
| 139 | The IT87xx only updates its values each 1.5 seconds; reading it more often | 135 | The IT87xx only updates its values each 1.5 seconds; reading it more often |
| 140 | will do no harm, but will return 'old' values. | 136 | will do no harm, but will return 'old' values. |
| 141 | 137 | ||
| @@ -150,11 +146,38 @@ Fan speed control · 8 unmodified lines | |||
| 150 | ----------------- | 146 | ----------------- |
| 151 | 147 | ||
| 152 | The fan speed control features are limited to manual PWM mode. Automatic | 148 | The fan speed control features are limited to manual PWM mode. Automatic |
| 153 | "Smart Guardian" mode control handling is not implemented. However | 149 | "Smart Guardian" mode control handling is only implemented for older chips |
| 154 | if you want to go for "manual mode" just write 1 to pwmN_enable. | 150 | (see below.) However if you want to go for "manual mode" just write 1 to |
| 151 | pwmN_enable. | ||
| 155 | 152 | ||
| 156 | If you are only able to control the fan speed with very small PWM values, | 153 | If you are only able to control the fan speed with very small PWM values, |
| 157 | try lowering the PWM base frequency (pwm1_freq). Depending on the fan, | 154 | try lowering the PWM base frequency (pwm1_freq). Depending on the fan, |
| 158 | it may give you a somewhat greater control range. The same frequency is | 155 | it may give you a somewhat greater control range. The same frequency is |
| 159 | used to drive all fan outputs, which is why pwm2_freq and pwm3_freq are | 156 | used to drive all fan outputs, which is why pwm2_freq and pwm3_freq are |
| 160 | read-only. | 157 | read-only. |
| 158 | |||
| 159 | |||
| 160 | Automatic fan speed control (old interface) | ||
| 161 | ------------------------------------------- | ||
| 162 | |||
| 163 | The driver supports the old interface to automatic fan speed control | ||
| 164 | which is implemented by IT8705F chips up to revision F and IT8712F | ||
| 165 | chips up to revision G. | ||
| 166 | |||
| 167 | This interface implements 4 temperature vs. PWM output trip points. | ||
| 168 | The PWM output of trip point 4 is always the maximum value (fan running | ||
| 169 | at full speed) while the PWM output of the other 3 trip points can be | ||
| 170 | freely chosen. The temperature of all 4 trip points can be freely chosen. | ||
| 171 | Additionally, trip point 1 has an hysteresis temperature attached, to | ||
| 172 | prevent fast switching between fan on and off. | ||
| 173 | |||
| 174 | The chip automatically computes the PWM output value based on the input | ||
| 175 | temperature, based on this simple rule: if the temperature value is | ||
| 176 | between trip point N and trip point N+1 then the PWM output value is | ||
| 177 | the one of trip point N. The automatic control mode is less flexible | ||
| 178 | than the manual control mode, but it reacts faster, is more robust and | ||
| 179 | doesn't use CPU cycles. | ||
| 180 | |||
| 181 | Trip points must be set properly before switching to automatic fan speed | ||
| 182 | control mode. The driver will perform basic integrity checks before | ||
| 183 | actually switching to automatic control mode. | ||
| @@ -84,6 +84,10 @@ Supported chips: · 83 unmodified lines | |||
| 84 | Addresses scanned: I2C 0x4c | 84 | Addresses scanned: I2C 0x4c |
| 85 | Datasheet: Publicly available at the Maxim website | 85 | Datasheet: Publicly available at the Maxim website |
| 86 | http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3500 | 86 | http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3500 |
| 87 | * Winbond/Nuvoton W83L771AWG/ASG | ||
| 88 | Prefix: 'w83l771' | ||
| 89 | Addresses scanned: I2C 0x4c | ||
| 90 | Datasheet: Not publicly available, can be requested from Nuvoton | ||
| 87 | 91 | ||
| 88 | 92 | ||
| 89 | Author: Jean Delvare <khali@linux-fr.org> | 93 | Author: Jean Delvare <khali@linux-fr.org> |
| @@ -147,6 +151,12 @@ MAX6680 and MAX6681: · 57 unmodified lines | |||
| 147 | * Selectable address | 151 | * Selectable address |
| 148 | * Remote sensor type selection | 152 | * Remote sensor type selection |
| 149 | 153 | ||
| 154 | W83L771AWG/ASG | ||
| 155 | * The AWG and ASG variants only differ in package format. | ||
| 156 | * Filter and alert configuration register at 0xBF | ||
| 157 | * Diode ideality factor configuration (remote sensor) at 0xE3 | ||
| 158 | * Moving average (depending on conversion rate) | ||
| 159 | |||
| 150 | All temperature values are given in degrees Celsius. Resolution | 160 | All temperature values are given in degrees Celsius. Resolution |
| 151 | is 1.0 degree for the local temperature, 0.125 degree for the remote | 161 | is 1.0 degree for the local temperature, 0.125 degree for the remote |
| 152 | temperature, except for the MAX6657, MAX6658 and MAX6659 which have a | 162 | temperature, except for the MAX6657, MAX6658 and MAX6659 which have a |
| @@ -163,6 +173,18 @@ The lm90 driver will not update its values more frequently than every · 10 unmodified lines | |||
| 163 | other second; reading them more often will do no harm, but will return | 173 | other second; reading them more often will do no harm, but will return |
| 164 | 'old' values. | 174 | 'old' values. |
| 165 | 175 | ||
| 176 | SMBus Alert Support | ||
| 177 | ------------------- | ||
| 178 | |||
| 179 | This driver has basic support for SMBus alert. When an alert is received, | ||
| 180 | the status register is read and the faulty temperature channel is logged. | ||
| 181 | |||
| 182 | The Analog Devices chips (ADM1032 and ADT7461) do not implement the SMBus | ||
| 183 | alert protocol properly so additional care is needed: the ALERT output is | ||
| 184 | disabled when an alert is received, and is re-enabled only when the alarm | ||
| 185 | is gone. Otherwise the chip would block alerts from other chips in the bus | ||
| 186 | as long as the alarm is active. | ||
| 187 | |||
| 166 | PEC Support | 188 | PEC Support |
| 167 | ----------- | 189 | ----------- |
| 168 | 190 | ||
| @@ -0,0 +1,49 @@ | |||
| 1 | Explaining the dreaded "No init found." boot hang message | ||
| 2 | ========================================================= | ||
| 3 | |||
| 4 | OK, so you've got this pretty unintuitive message (currently located | ||
| 5 | in init/main.c) and are wondering what the H*** went wrong. | ||
| 6 | Some high-level reasons for failure (listed roughly in order of execution) | ||
| 7 | to load the init binary are: | ||
| 8 | A) Unable to mount root FS | ||
| 9 | B) init binary doesn't exist on rootfs | ||
| 10 | C) broken console device | ||
| 11 | D) binary exists but dependencies not available | ||
| 12 | E) binary cannot be loaded | ||
| 13 | |||
| 14 | Detailed explanations: | ||
| 15 | 0) Set "debug" kernel parameter (in bootloader config file or CONFIG_CMDLINE) | ||
| 16 | to get more detailed kernel messages. | ||
| 17 | A) make sure you have the correct root FS type | ||
| 18 | (and root= kernel parameter points to the correct partition), | ||
| 19 | required drivers such as storage hardware (such as SCSI or USB!) | ||
| 20 | and filesystem (ext3, jffs2 etc.) are builtin (alternatively as modules, | ||
| 21 | to be pre-loaded by an initrd) | ||
| 22 | C) Possibly a conflict in console= setup --> initial console unavailable. | ||
| 23 | E.g. some serial consoles are unreliable due to serial IRQ issues (e.g. | ||
| 24 | missing interrupt-based configuration). | ||
| 25 | Try using a different console= device or e.g. netconsole= . | ||
| 26 | D) e.g. required library dependencies of the init binary such as | ||
| 27 | /lib/ld-linux.so.2 missing or broken. Use readelf -d <INIT>|grep NEEDED | ||
| 28 | to find out which libraries are required. | ||
| 29 | E) make sure the binary's architecture matches your hardware. | ||
| 30 | E.g. i386 vs. x86_64 mismatch, or trying to load x86 on ARM hardware. | ||
| 31 | In case you tried loading a non-binary file here (shell script?), | ||
| 32 | you should make sure that the script specifies an interpreter in its shebang | ||
| 33 | header line (#!/...) that is fully working (including its library | ||
| 34 | dependencies). And before tackling scripts, better first test a simple | ||
| 35 | non-script binary such as /bin/sh and confirm its successful execution. | ||
| 36 | To find out more, add code to init/main.c to display kernel_execve()s | ||
| 37 | return values. | ||
| 38 | |||
| 39 | Please extend this explanation whenever you find new failure causes | ||
| 40 | (after all loading the init binary is a CRITICAL and hard transition step | ||
| 41 | which needs to be made as painless as possible), then submit patch to LKML. | ||
| 42 | Further TODOs: | ||
| 43 | - Implement the various run_init_process() invocations via a struct array | ||
| 44 | which can then store the kernel_execve() result value and on failure | ||
| 45 | log it all by iterating over _all_ results (very important usability fix). | ||
| 46 | - try to make the implementation itself more helpful in general, | ||
| 47 | e.g. by providing additional error messages at affected places. | ||
| 48 | |||
| 49 | Andreas Mohr <andi at lisas period de> | ||
| @@ -75,7 +75,7 @@ and the number of steps or will clamp at the maximum and zero depending on · 74 unmodified lines | |||
| 75 | the configuration. | 75 | the configuration. |
| 76 | 76 | ||
| 77 | Because GPIO to IRQ mapping is platform specific, this information must | 77 | Because GPIO to IRQ mapping is platform specific, this information must |
| 78 | be given in seperately to the driver. See the example below. | 78 | be given in separately to the driver. See the example below. |
| 79 | 79 | ||
| 80 | ---------<snip>--------- | 80 | ---------<snip>--------- |
| 81 | 81 | ||
| @@ -291,6 +291,7 @@ Code Seq#(hex) Include File Comments · 290 unmodified lines | |||
| 291 | 0x92 00-0F drivers/usb/mon/mon_bin.c | 291 | 0x92 00-0F drivers/usb/mon/mon_bin.c |
| 292 | 0x93 60-7F linux/auto_fs.h | 292 | 0x93 60-7F linux/auto_fs.h |
| 293 | 0x94 all fs/btrfs/ioctl.h | 293 | 0x94 all fs/btrfs/ioctl.h |
| 294 | 0x97 00-7F fs/ceph/ioctl.h Ceph file system | ||
| 294 | 0x99 00-0F 537-Addinboard driver | 295 | 0x99 00-0F 537-Addinboard driver |
| 295 | <mailto:buk@buks.ipn.de> | 296 | <mailto:buk@buks.ipn.de> |
| 296 | 0xA0 all linux/sdp/sdp.h Industrial Device Project | 297 | 0xA0 all linux/sdp/sdp.h Industrial Device Project |
| @@ -201,10 +201,6 @@ and is between 256 and 4096 characters. It is defined in the file · 200 unmodified lines | |||
| 201 | acpi_display_output=video | 201 | acpi_display_output=video |
| 202 | See above. | 202 | See above. |
| 203 | 203 | ||
| 204 | acpi_early_pdc_eval [HW,ACPI] Evaluate processor _PDC methods | ||
| 205 | early. Needed on some platforms to properly | ||
| 206 | initialize the EC. | ||
| 207 | |||
| 208 | acpi_irq_balance [HW,ACPI] | 204 | acpi_irq_balance [HW,ACPI] |
| 209 | ACPI will balance active IRQs | 205 | ACPI will balance active IRQs |
| 210 | default in APIC mode | 206 | default in APIC mode |
| @@ -2844,6 +2840,12 @@ and is between 256 and 4096 characters. It is defined in the file · 2633 unmodified lines | |||
| 2844 | default x2apic cluster mode on platforms | 2840 | default x2apic cluster mode on platforms |
| 2845 | supporting x2apic. | 2841 | supporting x2apic. |
| 2846 | 2842 | ||
| 2843 | x86_mrst_timer= [X86-32,APBT] | ||
| 2844 | Choose timer option for x86 Moorestown MID platform. | ||
| 2845 | Two valid options are apbt timer only and lapic timer | ||
| 2846 | plus one apbt timer for broadcast timer. | ||
| 2847 | x86_mrst_timer=apbt_only | lapic_and_apbt | ||
| 2848 | |||
| 2847 | xd= [HW,XT] Original XT pre-IDE (RLL encoded) disks. | 2849 | xd= [HW,XT] Original XT pre-IDE (RLL encoded) disks. |
| 2848 | xd_geo= See header of drivers/block/xd.c. | 2850 | xd_geo= See header of drivers/block/xd.c. |
| 2849 | 2851 | ||
| @@ -59,37 +59,56 @@ nice to have in other objects. The C language does not allow for the · 58 unmodified lines | |||
| 59 | direct expression of inheritance, so other techniques - such as structure | 59 | direct expression of inheritance, so other techniques - such as structure |
| 60 | embedding - must be used. | 60 | embedding - must be used. |
| 61 | 61 | ||
| 62 | So, for example, the UIO code has a structure that defines the memory | 62 | (As an aside, for those familiar with the kernel linked list implementation, |
| 63 | region associated with a uio device: | 63 | this is analogous as to how "list_head" structs are rarely useful on |
| 64 | their own, but are invariably found embedded in the larger objects of | ||
| 65 | interest.) | ||
| 64 | 66 | ||
| 65 | struct uio_mem { | 67 | So, for example, the UIO code in drivers/uio/uio.c has a structure that |
| 68 | defines the memory region associated with a uio device: | ||
| 69 | |||
| 70 | struct uio_map { | ||
| 66 | struct kobject kobj; | 71 | struct kobject kobj; |
| 67 | unsigned long addr; | 72 | struct uio_mem *mem; |
| 68 | unsigned long size; | 73 | }; |
| 69 | int memtype; | ||
| 70 | void __iomem *internal_addr; | ||
| 71 | }; | ||
| 72 | 74 | ||
| 73 | If you have a struct uio_mem structure, finding its embedded kobject is | 75 | If you have a struct uio_map structure, finding its embedded kobject is |
| 74 | just a matter of using the kobj member. Code that works with kobjects will | 76 | just a matter of using the kobj member. Code that works with kobjects will |
| 75 | often have the opposite problem, however: given a struct kobject pointer, | 77 | often have the opposite problem, however: given a struct kobject pointer, |
| 76 | what is the pointer to the containing structure? You must avoid tricks | 78 | what is the pointer to the containing structure? You must avoid tricks |
| 77 | (such as assuming that the kobject is at the beginning of the structure) | 79 | (such as assuming that the kobject is at the beginning of the structure) |
| 78 | and, instead, use the container_of() macro, found in <linux/kernel.h>: | 80 | and, instead, use the container_of() macro, found in <linux/kernel.h>: |
| 79 | 81 | ||
| 80 | container_of(pointer, type, member) | 82 | container_of(pointer, type, member) |
| 83 | |||
| 84 | where: | ||
| 85 | |||
| 86 | * "pointer" is the pointer to the embedded kobject, | ||
| 87 | * "type" is the type of the containing structure, and | ||
| 88 | * "member" is the name of the structure field to which "pointer" points. | ||
| 89 | |||
| 90 | The return value from container_of() is a pointer to the corresponding | ||
| 91 | container type. So, for example, a pointer "kp" to a struct kobject | ||
| 92 | embedded *within* a struct uio_map could be converted to a pointer to the | ||
| 93 | *containing* uio_map structure with: | ||
| 94 | |||
| 95 | struct uio_map *u_map = container_of(kp, struct uio_map, kobj); | ||
| 96 | |||
| 97 | For convenience, programmers often define a simple macro for "back-casting" | ||
| 98 | kobject pointers to the containing type. Exactly this happens in the | ||
| 99 | earlier drivers/uio/uio.c, as you can see here: | ||
| 100 | |||
| 101 | struct uio_map { | ||
| 102 | struct kobject kobj; | ||
| 103 | struct uio_mem *mem; | ||
| 104 | }; | ||
| 81 | 105 | ||
| 82 | where pointer is the pointer to the embedded kobject, type is the type of | 106 | #define to_map(map) container_of(map, struct uio_map, kobj) |
| 83 | the containing structure, and member is the name of the structure field to | ||
| 84 | which pointer points. The return value from container_of() is a pointer to | ||
| 85 | the given type. So, for example, a pointer "kp" to a struct kobject | ||
| 86 | embedded within a struct uio_mem could be converted to a pointer to the | ||
| 87 | containing uio_mem structure with: | ||
| 88 | 107 | ||
| 89 | struct uio_mem *u_mem = container_of(kp, struct uio_mem, kobj); | 108 | where the macro argument "map" is a pointer to the struct kobject in |
| 109 | question. That macro is subsequently invoked with: | ||
| 90 | 110 | ||
| 91 | Programmers often define a simple macro for "back-casting" kobject pointers | 111 | struct uio_map *map = to_map(kobj); |
| 92 | to the containing type. | ||
| 93 | 112 | ||
| 94 | 113 | ||
| 95 | Initialization of kobjects | 114 | Initialization of kobjects |
| @@ -266,7 +285,7 @@ kobj_type: · 170 unmodified lines | |||
| 266 | 285 | ||
| 267 | struct kobj_type { | 286 | struct kobj_type { |
| 268 | void (*release)(struct kobject *); | 287 | void (*release)(struct kobject *); |
| 269 | struct sysfs_ops *sysfs_ops; | 288 | const struct sysfs_ops *sysfs_ops; |
| 270 | struct attribute **default_attrs; | 289 | struct attribute **default_attrs; |
| 271 | }; | 290 | }; |
| 272 | 291 | ||
| @@ -387,4 +406,5 @@ called, and the objects in the former circle release each other. · 114 unmodified lines | |||
| 387 | Example code to copy from | 406 | Example code to copy from |
| 388 | 407 | ||
| 389 | For a more complete example of using ksets and kobjects properly, see the | 408 | For a more complete example of using ksets and kobjects properly, see the |
| 390 | sample/kobject/kset-example.c code. | 409 | example programs samples/kobject/{kobject-example.c,kset-example.c}, |
| 410 | which will be built as loadable modules if you select CONFIG_SAMPLE_KOBJECT. | ||
| @@ -1,6 +1,7 @@ | |||
| 1 | Title : Kernel Probes (Kprobes) | 1 | Title : Kernel Probes (Kprobes) |
| 2 | Authors : Jim Keniston <jkenisto@us.ibm.com> | 2 | Authors : Jim Keniston <jkenisto@us.ibm.com> |
| 3 | : Prasanna S Panchamukhi <prasanna@in.ibm.com> | 3 | : Prasanna S Panchamukhi <prasanna.panchamukhi@gmail.com> |
| 4 | : Masami Hiramatsu <mhiramat@redhat.com> | ||
| 4 | 5 | ||
| 5 | CONTENTS | 6 | CONTENTS |
| 6 | 7 | ||
| @@ -15,6 +16,7 @@ CONTENTS · 8 unmodified lines | |||
| 15 | 9. Jprobes Example | 16 | 9. Jprobes Example |
| 16 | 10. Kretprobes Example | 17 | 10. Kretprobes Example |
| 17 | Appendix A: The kprobes debugfs interface | 18 | Appendix A: The kprobes debugfs interface |
| 19 | Appendix B: The kprobes sysctl interface | ||
| 18 | 20 | ||
| 19 | 1. Concepts: Kprobes, Jprobes, Return Probes | 21 | 1. Concepts: Kprobes, Jprobes, Return Probes |
| 20 | 22 | ||
| @@ -42,13 +44,13 @@ registration/unregistration of a group of *probes. These functions · 21 unmodified lines | |||
| 42 | can speed up unregistration process when you have to unregister | 44 | can speed up unregistration process when you have to unregister |
| 43 | a lot of probes at once. | 45 | a lot of probes at once. |
| 44 | 46 | ||
| 45 | The next three subsections explain how the different types of | 47 | The next four subsections explain how the different types of |
| 46 | probes work. They explain certain things that you'll need to | 48 | probes work and how jump optimization works. They explain certain |
| 47 | know in order to make the best use of Kprobes -- e.g., the | 49 | things that you'll need to know in order to make the best use of |
| 48 | difference between a pre_handler and a post_handler, and how | 50 | Kprobes -- e.g., the difference between a pre_handler and |
| 49 | to use the maxactive and nmissed fields of a kretprobe. But | 51 | a post_handler, and how to use the maxactive and nmissed fields of |
| 50 | if you're in a hurry to start using Kprobes, you can skip ahead | 52 | a kretprobe. But if you're in a hurry to start using Kprobes, you |
| 51 | to section 2. | 53 | can skip ahead to section 2. |
| 52 | 54 | ||
| 53 | 1.1 How Does a Kprobe Work? | 55 | 1.1 How Does a Kprobe Work? |
| 54 | 56 | ||
| @@ -161,13 +163,125 @@ In case probed function is entered but there is no kretprobe_instance · 106 unmodified lines | |||
| 161 | object available, then in addition to incrementing the nmissed count, | 163 | object available, then in addition to incrementing the nmissed count, |
| 162 | the user entry_handler invocation is also skipped. | 164 | the user entry_handler invocation is also skipped. |
| 163 | 165 | ||
| 166 | 1.4 How Does Jump Optimization Work? | ||
| 167 | |||
| 168 | If you configured your kernel with CONFIG_OPTPROBES=y (currently | ||
| 169 | this option is supported on x86/x86-64, non-preemptive kernel) and | ||
| 170 | the "debug.kprobes_optimization" kernel parameter is set to 1 (see | ||
| 171 | sysctl(8)), Kprobes tries to reduce probe-hit overhead by using a jump | ||
| 172 | instruction instead of a breakpoint instruction at each probepoint. | ||
| 173 | |||
| 174 | 1.4.1 Init a Kprobe | ||
| 175 | |||
| 176 | When a probe is registered, before attempting this optimization, | ||
| 177 | Kprobes inserts an ordinary, breakpoint-based kprobe at the specified | ||
| 178 | address. So, even if it's not possible to optimize this particular | ||
| 179 | probepoint, there'll be a probe there. | ||
| 180 | |||
| 181 | 1.4.2 Safety Check | ||
| 182 | |||
| 183 | Before optimizing a probe, Kprobes performs the following safety checks: | ||
| 184 | |||
| 185 | - Kprobes verifies that the region that will be replaced by the jump | ||
| 186 | instruction (the "optimized region") lies entirely within one function. | ||
| 187 | (A jump instruction is multiple bytes, and so may overlay multiple | ||
| 188 | instructions.) | ||
| 189 | |||
| 190 | - Kprobes analyzes the entire function and verifies that there is no | ||
| 191 | jump into the optimized region. Specifically: | ||
| 192 | - the function contains no indirect jump; | ||
| 193 | - the function contains no instruction that causes an exception (since | ||
| 194 | the fixup code triggered by the exception could jump back into the | ||
| 195 | optimized region -- Kprobes checks the exception tables to verify this); | ||
| 196 | and | ||
| 197 | - there is no near jump to the optimized region (other than to the first | ||
| 198 | byte). | ||
| 199 | |||
| 200 | - For each instruction in the optimized region, Kprobes verifies that | ||
| 201 | the instruction can be executed out of line. | ||
| 202 | |||
| 203 | 1.4.3 Preparing Detour Buffer | ||
| 204 | |||
| 205 | Next, Kprobes prepares a "detour" buffer, which contains the following | ||
| 206 | instruction sequence: | ||
| 207 | - code to push the CPU's registers (emulating a breakpoint trap) | ||
| 208 | - a call to the trampoline code which calls user's probe handlers. | ||
| 209 | - code to restore registers | ||
| 210 | - the instructions from the optimized region | ||
| 211 | - a jump back to the original execution path. | ||
| 212 | |||
| 213 | 1.4.4 Pre-optimization | ||
| 214 | |||
| 215 | After preparing the detour buffer, Kprobes verifies that none of the | ||
| 216 | following situations exist: | ||
| 217 | - The probe has either a break_handler (i.e., it's a jprobe) or a | ||
| 218 | post_handler. | ||
| 219 | - Other instructions in the optimized region are probed. | ||
| 220 | - The probe is disabled. | ||
| 221 | In any of the above cases, Kprobes won't start optimizing the probe. | ||
| 222 | Since these are temporary situations, Kprobes tries to start | ||
| 223 | optimizing it again if the situation is changed. | ||
| 224 | |||
| 225 | If the kprobe can be optimized, Kprobes enqueues the kprobe to an | ||
| 226 | optimizing list, and kicks the kprobe-optimizer workqueue to optimize | ||
| 227 | it. If the to-be-optimized probepoint is hit before being optimized, | ||
| 228 | Kprobes returns control to the original instruction path by setting | ||
| 229 | the CPU's instruction pointer to the copied code in the detour buffer | ||
| 230 | -- thus at least avoiding the single-step. | ||
| 231 | |||
| 232 | 1.4.5 Optimization | ||
| 233 | |||
| 234 | The Kprobe-optimizer doesn't insert the jump instruction immediately; | ||
| 235 | rather, it calls synchronize_sched() for safety first, because it's | ||
| 236 | possible for a CPU to be interrupted in the middle of executing the | ||
| 237 | optimized region(*). As you know, synchronize_sched() can ensure | ||
| 238 | that all interruptions that were active when synchronize_sched() | ||
| 239 | was called are done, but only if CONFIG_PREEMPT=n. So, this version | ||
| 240 | of kprobe optimization supports only kernels with CONFIG_PREEMPT=n.(**) | ||
| 241 | |||
| 242 | After that, the Kprobe-optimizer calls stop_machine() to replace | ||
| 243 | the optimized region with a jump instruction to the detour buffer, | ||
| 244 | using text_poke_smp(). | ||
| 245 | |||
| 246 | 1.4.6 Unoptimization | ||
| 247 | |||
| 248 | When an optimized kprobe is unregistered, disabled, or blocked by | ||
| 249 | another kprobe, it will be unoptimized. If this happens before | ||
| 250 | the optimization is complete, the kprobe is just dequeued from the | ||
| 251 | optimized list. If the optimization has been done, the jump is | ||
| 252 | replaced with the original code (except for an int3 breakpoint in | ||
| 253 | the first byte) by using text_poke_smp(). | ||
| 254 | |||
| 255 | (*)Please imagine that the 2nd instruction is interrupted and then | ||
| 256 | the optimizer replaces the 2nd instruction with the jump *address* | ||
| 257 | while the interrupt handler is running. When the interrupt | ||
| 258 | returns to original address, there is no valid instruction, | ||
| 259 | and it causes an unexpected result. | ||
| 260 | |||
| 261 | (**)This optimization-safety checking may be replaced with the | ||
| 262 | stop-machine method that ksplice uses for supporting a CONFIG_PREEMPT=y | ||
| 263 | kernel. | ||
| 264 | |||
| 265 | NOTE for geeks: | ||
| 266 | The jump optimization changes the kprobe's pre_handler behavior. | ||
| 267 | Without optimization, the pre_handler can change the kernel's execution | ||
| 268 | path by changing regs->ip and returning 1. However, when the probe | ||
| 269 | is optimized, that modification is ignored. Thus, if you want to | ||
| 270 | tweak the kernel's execution path, you need to suppress optimization, | ||
| 271 | using one of the following techniques: | ||
| 272 | - Specify an empty function for the kprobe's post_handler or break_handler. | ||
| 273 | or | ||
| 274 | - Config CONFIG_OPTPROBES=n. | ||
| 275 | or | ||
| 276 | - Execute 'sysctl -w debug.kprobes_optimization=n' | ||
| 277 | |||
| 164 | 2. Architectures Supported | 278 | 2. Architectures Supported |
| 165 | 279 | ||
| 166 | Kprobes, jprobes, and return probes are implemented on the following | 280 | Kprobes, jprobes, and return probes are implemented on the following |
| 167 | architectures: | 281 | architectures: |
| 168 | 282 | ||
| 169 | - i386 | 283 | - i386 (Supports jump optimization) |
| 170 | - x86_64 (AMD-64, EM64T) | 284 | - x86_64 (AMD-64, EM64T) (Supports jump optimization) |
| 171 | - ppc64 | 285 | - ppc64 |
| 172 | - ia64 (Does not support probes on instruction slot1.) | 286 | - ia64 (Does not support probes on instruction slot1.) |
| 173 | - sparc64 (Return probes not yet implemented.) | 287 | - sparc64 (Return probes not yet implemented.) |
| @@ -193,6 +307,10 @@ it useful to "Compile the kernel with debug info" (CONFIG_DEBUG_INFO), · 19 unmodified lines | |||
| 193 | so you can use "objdump -d -l vmlinux" to see the source-to-object | 307 | so you can use "objdump -d -l vmlinux" to see the source-to-object |
| 194 | code mapping. | 308 | code mapping. |
| 195 | 309 | ||
| 310 | If you want to reduce probing overhead, set "Kprobes jump optimization | ||
| 311 | support" (CONFIG_OPTPROBES) to "y". You can find this option under the | ||
| 312 | "Kprobes" line. | ||
| 313 | |||
| 196 | 4. API Reference | 314 | 4. API Reference |
| 197 | 315 | ||
| 198 | The Kprobes API includes a "register" function and an "unregister" | 316 | The Kprobes API includes a "register" function and an "unregister" |
| @@ -389,7 +507,10 @@ the probe which has been registered. · 190 unmodified lines | |||
| 389 | 507 | ||
| 390 | Kprobes allows multiple probes at the same address. Currently, | 508 | Kprobes allows multiple probes at the same address. Currently, |
| 391 | however, there cannot be multiple jprobes on the same function at | 509 | however, there cannot be multiple jprobes on the same function at |
| 392 | the same time. | 510 | the same time. Also, a probepoint for which there is a jprobe or |
| 511 | a post_handler cannot be optimized. So if you install a jprobe, | ||
| 512 | or a kprobe with a post_handler, at an optimized probepoint, the | ||
| 513 | probepoint will be unoptimized automatically. | ||
| 393 | 514 | ||
| 394 | In general, you can install a probe anywhere in the kernel. | 515 | In general, you can install a probe anywhere in the kernel. |
| 395 | In particular, you can probe interrupt handlers. Known exceptions | 516 | In particular, you can probe interrupt handlers. Known exceptions |
| @@ -453,6 +574,38 @@ reason, Kprobes doesn't support return probes (or kprobes or jprobes) · 57 unmodified lines | |||
| 453 | on the x86_64 version of __switch_to(); the registration functions | 574 | on the x86_64 version of __switch_to(); the registration functions |
| 454 | return -EINVAL. | 575 | return -EINVAL. |
| 455 | 576 | ||
| 577 | On x86/x86-64, since the Jump Optimization of Kprobes modifies | ||
| 578 | instructions widely, there are some limitations to optimization. To | ||
| 579 | explain it, we introduce some terminology. Imagine a 3-instruction | ||
| 580 | sequence consisting of a two 2-byte instructions and one 3-byte | ||
| 581 | instruction. | ||
| 582 | |||
| 583 | IA | ||
| 584 | | | ||
| 585 | [-2][-1][0][1][2][3][4][5][6][7] | ||
| 586 | [ins1][ins2][ ins3 ] | ||
| 587 | [<- DCR ->] | ||
| 588 | [<- JTPR ->] | ||
| 589 | |||
| 590 | ins1: 1st Instruction | ||
| 591 | ins2: 2nd Instruction | ||
| 592 | ins3: 3rd Instruction | ||
| 593 | IA: Insertion Address | ||
| 594 | JTPR: Jump Target Prohibition Region | ||
| 595 | DCR: Detoured Code Region | ||
| 596 | |||
| 597 | The instructions in DCR are copied to the out-of-line buffer | ||
| 598 | of the kprobe, because the bytes in DCR are replaced by | ||
| 599 | a 5-byte jump instruction. So there are several limitations. | ||
| 600 | |||
| 601 | a) The instructions in DCR must be relocatable. | ||
| 602 | b) The instructions in DCR must not include a call instruction. | ||
| 603 | c) JTPR must not be targeted by any jump or call instruction. | ||
| 604 | d) DCR must not straddle the border betweeen functions. | ||
| 605 | |||
| 606 | Anyway, these limitations are checked by the in-kernel instruction | ||
| 607 | decoder, so you don't need to worry about that. | ||
| 608 | |||
| 456 | 6. Probe Overhead | 609 | 6. Probe Overhead |
| 457 | 610 | ||
| 458 | On a typical CPU in use in 2005, a kprobe hit takes 0.5 to 1.0 | 611 | On a typical CPU in use in 2005, a kprobe hit takes 0.5 to 1.0 |
| @@ -476,6 +629,19 @@ k = 0.49 usec; j = 0.76; r = 0.80; kr = 0.82; jr = 1.07 · 17 unmodified lines | |||
| 476 | ppc64: POWER5 (gr), 1656 MHz (SMT disabled, 1 virtual CPU per physical CPU) | 629 | ppc64: POWER5 (gr), 1656 MHz (SMT disabled, 1 virtual CPU per physical CPU) |
| 477 | k = 0.77 usec; j = 1.31; r = 1.26; kr = 1.45; jr = 1.99 | 630 | k = 0.77 usec; j = 1.31; r = 1.26; kr = 1.45; jr = 1.99 |
| 478 | 631 | ||
| 632 | 6.1 Optimized Probe Overhead | ||
| 633 | |||
| 634 | Typically, an optimized kprobe hit takes 0.07 to 0.1 microseconds to | ||
| 635 | process. Here are sample overhead figures (in usec) for x86 architectures. | ||
| 636 | k = unoptimized kprobe, b = boosted (single-step skipped), o = optimized kprobe, | ||
| 637 | r = unoptimized kretprobe, rb = boosted kretprobe, ro = optimized kretprobe. | ||
| 638 | |||
| 639 | i386: Intel(R) Xeon(R) E5410, 2.33GHz, 4656.90 bogomips | ||
| 640 | k = 0.80 usec; b = 0.33; o = 0.05; r = 1.10; rb = 0.61; ro = 0.33 | ||
| 641 | |||
| 642 | x86-64: Intel(R) Xeon(R) E5410, 2.33GHz, 4656.90 bogomips | ||
| 643 | k = 0.99 usec; b = 0.43; o = 0.06; r = 1.24; rb = 0.68; ro = 0.30 | ||
| 644 | |||
| 479 | 7. TODO | 645 | 7. TODO |
| 480 | 646 | ||
| 481 | a. SystemTap (http://sourceware.org/systemtap): Provides a simplified | 647 | a. SystemTap (http://sourceware.org/systemtap): Provides a simplified |
| @@ -523,7 +689,8 @@ is also specified. Following columns show probe status. If the probe is on · 41 unmodified lines | |||
| 523 | a virtual address that is no longer valid (module init sections, module | 689 | a virtual address that is no longer valid (module init sections, module |
| 524 | virtual addresses that correspond to modules that've been unloaded), | 690 | virtual addresses that correspond to modules that've been unloaded), |
| 525 | such probes are marked with [GONE]. If the probe is temporarily disabled, | 691 | such probes are marked with [GONE]. If the probe is temporarily disabled, |
| 526 | such probes are marked with [DISABLED]. | 692 | such probes are marked with [DISABLED]. If the probe is optimized, it is |
| 693 | marked with [OPTIMIZED]. | ||
| 527 | 694 | ||
| 528 | /sys/kernel/debug/kprobes/enabled: Turn kprobes ON/OFF forcibly. | 695 | /sys/kernel/debug/kprobes/enabled: Turn kprobes ON/OFF forcibly. |
| 529 | 696 | ||
| @@ -533,3 +700,19 @@ registered probes will be disarmed, till such time a "1" is echoed to this · 3 unmodified lines | |||
| 533 | file. Note that this knob just disarms and arms all kprobes and doesn't | 700 | file. Note that this knob just disarms and arms all kprobes and doesn't |
| 534 | change each probe's disabling state. This means that disabled kprobes (marked | 701 | change each probe's disabling state. This means that disabled kprobes (marked |
| 535 | [DISABLED]) will be not enabled if you turn ON all kprobes by this knob. | 702 | [DISABLED]) will be not enabled if you turn ON all kprobes by this knob. |
| 703 | |||
| 704 | |||
| 705 | Appendix B: The kprobes sysctl interface | ||
| 706 | |||
| 707 | /proc/sys/debug/kprobes-optimization: Turn kprobes optimization ON/OFF. | ||
| 708 | |||
| 709 | When CONFIG_OPTPROBES=y, this sysctl interface appears and it provides | ||
| 710 | a knob to globally and forcibly turn jump optimization (see section | ||
| 711 | 1.4) ON or OFF. By default, jump optimization is allowed (ON). | ||
| 712 | If you echo "0" to this file or set "debug.kprobes_optimization" to | ||
| 713 | 0 via sysctl, all optimized probes will be unoptimized, and any new | ||
| 714 | probes registered after that will not be optimized. Note that this | ||
| 715 | knob *changes* the optimized state. This means that optimized probes | ||
| 716 | (marked [OPTIMIZED]) will be unoptimized ([OPTIMIZED] tag will be | ||
| 717 | removed). If the knob is turned on, they will be optimized again. | ||
| 718 | |||
| @@ -23,12 +23,12 @@ of a virtual machine. The ioctls belong to three classes · 22 unmodified lines | |||
| 23 | Only run vcpu ioctls from the same thread that was used to create the | 23 | Only run vcpu ioctls from the same thread that was used to create the |
| 24 | vcpu. | 24 | vcpu. |
| 25 | 25 | ||
| 26 | 2. File descritpors | 26 | 2. File descriptors |
| 27 | 27 | ||
| 28 | The kvm API is centered around file descriptors. An initial | 28 | The kvm API is centered around file descriptors. An initial |
| 29 | open("/dev/kvm") obtains a handle to the kvm subsystem; this handle | 29 | open("/dev/kvm") obtains a handle to the kvm subsystem; this handle |
| 30 | can be used to issue system ioctls. A KVM_CREATE_VM ioctl on this | 30 | can be used to issue system ioctls. A KVM_CREATE_VM ioctl on this |
| 31 | handle will create a VM file descripror which can be used to issue VM | 31 | handle will create a VM file descriptor which can be used to issue VM |
| 32 | ioctls. A KVM_CREATE_VCPU ioctl on a VM fd will create a virtual cpu | 32 | ioctls. A KVM_CREATE_VCPU ioctl on a VM fd will create a virtual cpu |
| 33 | and return a file descriptor pointing to it. Finally, ioctls on a vcpu | 33 | and return a file descriptor pointing to it. Finally, ioctls on a vcpu |
| 34 | fd can be used to control the vcpu, including the important task of | 34 | fd can be used to control the vcpu, including the important task of |
| @@ -643,7 +643,7 @@ Type: vm ioctl · 608 unmodified lines | |||
| 643 | Parameters: struct kvm_clock_data (in) | 643 | Parameters: struct kvm_clock_data (in) |
| 644 | Returns: 0 on success, -1 on error | 644 | Returns: 0 on success, -1 on error |
| 645 | 645 | ||
| 646 | Sets the current timestamp of kvmclock to the valued specific in its parameter. | 646 | Sets the current timestamp of kvmclock to the value specified in its parameter. |
| 647 | In conjunction with KVM_GET_CLOCK, it is used to ensure monotonicity on scenarios | 647 | In conjunction with KVM_GET_CLOCK, it is used to ensure monotonicity on scenarios |
| 648 | such as migration. | 648 | such as migration. |
| 649 | 649 | ||
| @@ -795,11 +795,11 @@ Unused. · 145 unmodified lines | |||
| 795 | __u64 data_offset; /* relative to kvm_run start */ | 795 | __u64 data_offset; /* relative to kvm_run start */ |
| 796 | } io; | 796 | } io; |
| 797 | 797 | ||
| 798 | If exit_reason is KVM_EXIT_IO_IN or KVM_EXIT_IO_OUT, then the vcpu has | 798 | If exit_reason is KVM_EXIT_IO, then the vcpu has |
| 799 | executed a port I/O instruction which could not be satisfied by kvm. | 799 | executed a port I/O instruction which could not be satisfied by kvm. |
| 800 | data_offset describes where the data is located (KVM_EXIT_IO_OUT) or | 800 | data_offset describes where the data is located (KVM_EXIT_IO_OUT) or |
| 801 | where kvm expects application code to place the data for the next | 801 | where kvm expects application code to place the data for the next |
| 802 | KVM_RUN invocation (KVM_EXIT_IO_IN). Data format is a patcked array. | 802 | KVM_RUN invocation (KVM_EXIT_IO_IN). Data format is a packed array. |
| 803 | 803 | ||
| 804 | struct { | 804 | struct { |
| 805 | struct kvm_debug_exit_arch arch; | 805 | struct kvm_debug_exit_arch arch; |
| @@ -815,7 +815,7 @@ Unused. · 9 unmodified lines | |||
| 815 | __u8 is_write; | 815 | __u8 is_write; |
| 816 | } mmio; | 816 | } mmio; |
| 817 | 817 | ||
| 818 | If exit_reason is KVM_EXIT_MMIO or KVM_EXIT_IO_OUT, then the vcpu has | 818 | If exit_reason is KVM_EXIT_MMIO, then the vcpu has |
| 819 | executed a memory-mapped I/O instruction which could not be satisfied | 819 | executed a memory-mapped I/O instruction which could not be satisfied |
| 820 | by kvm. The 'data' member contains the written data if 'is_write' is | 820 | by kvm. The 'data' member contains the written data if 'is_write' is |
| 821 | true, and should be filled by application code otherwise. | 821 | true, and should be filled by application code otherwise. |
| @@ -2,6 +2,12 @@ · 1 unmodified line | |||
| 2 | - This file | 2 | - This file |
| 3 | acer-wmi.txt | 3 | acer-wmi.txt |
| 4 | - information on the Acer Laptop WMI Extras driver. | 4 | - information on the Acer Laptop WMI Extras driver. |
| 5 | asus-laptop.txt | ||
| 6 | - information on the Asus Laptop Extras driver. | ||
| 7 | disk-shock-protection.txt | ||
| 8 | - information on hard disk shock protection. | ||
| 9 | dslm.c | ||
| 10 | - Simple Disk Sleep Monitor program | ||
| 5 | laptop-mode.txt | 11 | laptop-mode.txt |
| 6 | - how to conserve battery power using laptop-mode. | 12 | - how to conserve battery power using laptop-mode. |
| 7 | sony-laptop.txt | 13 | sony-laptop.txt |
| @@ -0,0 +1,8 @@ | |||
| 1 | # kbuild trick to avoid linker error. Can be omitted if a module is built. | ||
| 2 | obj- := dummy.o | ||
| 3 | |||
| 4 | # List of programs to build | ||
| 5 | hostprogs-y := dslm | ||
| 6 | |||
| 7 | # Tell kbuild to always build the programs | ||
| 8 | always := $(hostprogs-y) | ||
| @@ -0,0 +1,166 @@ | |||
| 1 | /* | ||
| 2 | * dslm.c | ||
| 3 | * Simple Disk Sleep Monitor | ||
| 4 | * by Bartek Kania | ||
| 5 | * Licenced under the GPL | ||
| 6 | */ | ||
| 7 | #include <unistd.h> | ||
| 8 | #include <stdlib.h> | ||
| 9 | #include <stdio.h> | ||
| 10 | #include <fcntl.h> | ||
| 11 | #include <errno.h> | ||
| 12 | #include <time.h> | ||
| 13 | #include <string.h> | ||
| 14 | #include <signal.h> | ||
| 15 | #include <sys/ioctl.h> | ||
| 16 | #include <linux/hdreg.h> | ||
| 17 | |||
| 18 | #ifdef DEBUG | ||
| 19 | #define D(x) x | ||
| 20 | #else | ||
| 21 | #define D(x) | ||
| 22 | #endif | ||
| 23 | |||
| 24 | int endit = 0; | ||
| 25 | |||
| 26 | /* Check if the disk is in powersave-mode | ||
| 27 | * Most of the code is stolen from hdparm. | ||
| 28 | * 1 = active, 0 = standby/sleep, -1 = unknown */ | ||
| 29 | static int check_powermode(int fd) | ||
| 30 | { | ||
| 31 | unsigned char args[4] = {WIN_CHECKPOWERMODE1,0,0,0}; | ||
| 32 | int state; | ||
| 33 | |||
| 34 | if (ioctl(fd, HDIO_DRIVE_CMD, &args) | ||
| 35 | && (args[0] = WIN_CHECKPOWERMODE2) /* try again with 0x98 */ | ||
| 36 | && ioctl(fd, HDIO_DRIVE_CMD, &args)) { | ||
| 37 | if (errno != EIO || args[0] != 0 || args[1] != 0) { | ||
| 38 | state = -1; /* "unknown"; */ | ||
| 39 | } else | ||
| 40 | state = 0; /* "sleeping"; */ | ||
| 41 | } else { | ||
| 42 | state = (args[2] == 255) ? 1 : 0; | ||
| 43 | } | ||
| 44 | D(printf(" drive state is: %d\n", state)); | ||
| 45 | |||
| 46 | return state; | ||
| 47 | } | ||
| 48 | |||
| 49 | static char *state_name(int i) | ||
| 50 | { | ||
| 51 | if (i == -1) return "unknown"; | ||
| 52 | if (i == 0) return "sleeping"; | ||
| 53 | if (i == 1) return "active"; | ||
| 54 | |||
| 55 | return "internal error"; | ||
| 56 | } | ||
| 57 | |||
| 58 | static char *myctime(time_t time) | ||
| 59 | { | ||
| 60 | char *ts = ctime(&time); | ||
| 61 | ts[strlen(ts) - 1] = 0; | ||
| 62 | |||
| 63 | return ts; | ||
| 64 | } | ||
| 65 | |||
| 66 | static void measure(int fd) | ||
| 67 | { | ||
| 68 | time_t start_time; | ||
| 69 | int last_state; | ||
| 70 | time_t last_time; | ||
| 71 | int curr_state; | ||
| 72 | time_t curr_time = 0; | ||
| 73 | time_t time_diff; | ||
| 74 | time_t active_time = 0; | ||
| 75 | time_t sleep_time = 0; | ||
| 76 | time_t unknown_time = 0; | ||
| 77 | time_t total_time = 0; | ||
| 78 | int changes = 0; | ||
| 79 | float tmp; | ||
| 80 | |||
| 81 | printf("Starting measurements\n"); | ||
| 82 | |||
| 83 | last_state = check_powermode(fd); | ||
| 84 | start_time = last_time = time(0); | ||
| 85 | printf(" System is in state %s\n\n", state_name(last_state)); | ||
| 86 | |||
| 87 | while(!endit) { | ||
| 88 | sleep(1); | ||
| 89 | curr_state = check_powermode(fd); | ||
| 90 | |||
| 91 | if (curr_state != last_state || endit) { | ||
| 92 | changes++; | ||
| 93 | curr_time = time(0); | ||
| 94 | time_diff = curr_time - last_time; | ||
| 95 | |||
| 96 | if (last_state == 1) active_time += time_diff; | ||
| 97 | else if (last_state == 0) sleep_time += time_diff; | ||
| 98 | else unknown_time += time_diff; | ||
| 99 | |||
| 100 | last_state = curr_state; | ||
| 101 | last_time = curr_time; | ||
| 102 | |||
| 103 | printf("%s: State-change to %s\n", myctime(curr_time), | ||
| 104 | state_name(curr_state)); | ||
| 105 | } | ||
| 106 | } | ||
| 107 | changes--; /* Compensate for SIGINT */ | ||
| 108 | |||
| 109 | total_time = time(0) - start_time; | ||
| 110 | printf("\nTotal running time: %lus\n", curr_time - start_time); | ||
| 111 | printf(" State changed %d times\n", changes); | ||
| 112 | |||
| 113 | tmp = (float)sleep_time / (float)total_time * 100; | ||
| 114 | printf(" Time in sleep state: %lus (%.2f%%)\n", sleep_time, tmp); | ||
| 115 | tmp = (float)active_time / (float)total_time * 100; | ||
| 116 | printf(" Time in active state: %lus (%.2f%%)\n", active_time, tmp); | ||
| 117 | tmp = (float)unknown_time / (float)total_time * 100; | ||
| 118 | printf(" Time in unknown state: %lus (%.2f%%)\n", unknown_time, tmp); | ||
| 119 | } | ||
| 120 | |||
| 121 | static void ender(int s) | ||
| 122 | { | ||
| 123 | endit = 1; | ||
| 124 | } | ||
| 125 | |||
| 126 | static void usage(void) | ||
| 127 | { | ||
| 128 | puts("usage: dslm [-w <time>] <disk>"); | ||
| 129 | exit(0); | ||
| 130 | } | ||
| 131 | |||
| 132 | int main(int argc, char **argv) | ||
| 133 | { | ||
| 134 | int fd; | ||
| 135 | char *disk = 0; | ||
| 136 | int settle_time = 60; | ||
| 137 | |||
| 138 | /* Parse the simple command-line */ | ||
| 139 | if (argc == 2) | ||
| 140 | disk = argv[1]; | ||
| 141 | else if (argc == 4) { | ||
| 142 | settle_time = atoi(argv[2]); | ||
| 143 | disk = argv[3]; | ||
| 144 | } else | ||
| 145 | usage(); | ||
| 146 | |||
| 147 | if (!(fd = open(disk, O_RDONLY|O_NONBLOCK))) { | ||
| 148 | printf("Can't open %s, because: %s\n", disk, strerror(errno)); | ||
| 149 | exit(-1); | ||
| 150 | } | ||
| 151 | |||
| 152 | if (settle_time) { | ||
| 153 | printf("Waiting %d seconds for the system to settle down to " | ||
| 154 | "'normal'\n", settle_time); | ||
| 155 | sleep(settle_time); | ||
| 156 | } else | ||
| 157 | puts("Not waiting for system to settle down"); | ||
| 158 | |||
| 159 | signal(SIGINT, ender); | ||
| 160 | |||
| 161 | measure(fd); | ||
| 162 | |||
| 163 | close(fd); | ||
| 164 | |||
| 165 | return 0; | ||
| 166 | } | ||
| @@ -779,172 +779,4 @@ Monitoring tool · 778 unmodified lines | |||
| 779 | --------------- | 779 | --------------- |
| 780 | 780 | ||
| 781 | Bartek Kania submitted this, it can be used to measure how much time your disk | 781 | Bartek Kania submitted this, it can be used to measure how much time your disk |
| 782 | spends spun up/down. | 782 | spends spun up/down. See Documentation/laptops/dslm.c |
| 783 | |||
| 784 | ---------------------------dslm.c BEGIN----------------------------------------- | ||
| 785 | /* | ||
| 786 | * Simple Disk Sleep Monitor | ||
| 787 | * by Bartek Kania | ||
| 788 | * Licenced under the GPL | ||
| 789 | */ | ||
| 790 | #include <unistd.h> | ||
| 791 | #include <stdlib.h> | ||
| 792 | #include <stdio.h> | ||
| 793 | #include <fcntl.h> | ||
| 794 | #include <errno.h> | ||
| 795 | #include <time.h> | ||
| 796 | #include <string.h> | ||
| 797 | #include <signal.h> | ||
| 798 | #include <sys/ioctl.h> | ||
| 799 | #include <linux/hdreg.h> | ||
| 800 | |||
| 801 | #ifdef DEBUG | ||
| 802 | #define D(x) x | ||
| 803 | #else | ||
| 804 | #define D(x) | ||
| 805 | #endif | ||
| 806 | |||
| 807 | int endit = 0; | ||
| 808 | |||
| 809 | /* Check if the disk is in powersave-mode | ||
| 810 | * Most of the code is stolen from hdparm. | ||
| 811 | * 1 = active, 0 = standby/sleep, -1 = unknown */ | ||
| 812 | int check_powermode(int fd) | ||
| 813 | { | ||
| 814 | unsigned char args[4] = {WIN_CHECKPOWERMODE1,0,0,0}; | ||
| 815 | int state; | ||
| 816 | |||
| 817 | if (ioctl(fd, HDIO_DRIVE_CMD, &args) | ||
| 818 | && (args[0] = WIN_CHECKPOWERMODE2) /* try again with 0x98 */ | ||
| 819 | && ioctl(fd, HDIO_DRIVE_CMD, &args)) { | ||
| 820 | if (errno != EIO || args[0] != 0 || args[1] != 0) { | ||
| 821 | state = -1; /* "unknown"; */ | ||
| 822 | } else | ||
| 823 | state = 0; /* "sleeping"; */ | ||
| 824 | } else { | ||
| 825 | state = (args[2] == 255) ? 1 : 0; | ||
| 826 | } | ||
| 827 | D(printf(" drive state is: %d\n", state)); | ||
| 828 | |||
| 829 | return state; | ||
| 830 | } | ||
| 831 | |||
| 832 | char *state_name(int i) | ||
| 833 | { | ||
| 834 | if (i == -1) return "unknown"; | ||
| 835 | if (i == 0) return "sleeping"; | ||
| 836 | if (i == 1) return "active"; | ||
| 837 | |||
| 838 | return "internal error"; | ||
| 839 | } | ||
| 840 | |||
| 841 | char *myctime(time_t time) | ||
| 842 | { | ||
| 843 | char *ts = ctime(&time); | ||
| 844 | ts[strlen(ts) - 1] = 0; | ||
| 845 | |||
| 846 | return ts; | ||
| 847 | } | ||
| 848 | |||
| 849 | void measure(int fd) | ||
| 850 | { | ||
| 851 | time_t start_time; | ||
| 852 | int last_state; | ||
| 853 | time_t last_time; | ||
| 854 | int curr_state; | ||
| 855 | time_t curr_time = 0; | ||
| 856 | time_t time_diff; | ||
| 857 | time_t active_time = 0; | ||
| 858 | time_t sleep_time = 0; | ||
| 859 | time_t unknown_time = 0; | ||
| 860 | time_t total_time = 0; | ||
| 861 | int changes = 0; | ||
| 862 | float tmp; | ||
| 863 | |||
| 864 | printf("Starting measurements\n"); | ||
| 865 | |||
| 866 | last_state = check_powermode(fd); | ||
| 867 | start_time = last_time = time(0); | ||
| 868 | printf(" System is in state %s\n\n", state_name(last_state)); | ||
| 869 | |||
| 870 | while(!endit) { | ||
| 871 | sleep(1); | ||
| 872 | curr_state = check_powermode(fd); | ||
| 873 | |||
| 874 | if (curr_state != last_state || endit) { | ||
| 875 | changes++; | ||
| 876 | curr_time = time(0); | ||
| 877 | time_diff = curr_time - last_time; | ||
| 878 | |||
| 879 | if (last_state == 1) active_time += time_diff; | ||
| 880 | else if (last_state == 0) sleep_time += time_diff; | ||
| 881 | else unknown_time += time_diff; | ||
| 882 | |||
| 883 | last_state = curr_state; | ||
| 884 | last_time = curr_time; | ||
| 885 | |||
| 886 | printf("%s: State-change to %s\n", myctime(curr_time), | ||
| 887 | state_name(curr_state)); | ||
| 888 | } | ||
| 889 | } | ||
| 890 | changes--; /* Compensate for SIGINT */ | ||
| 891 | |||
| 892 | total_time = time(0) - start_time; | ||
| 893 | printf("\nTotal running time: %lus\n", curr_time - start_time); | ||
| 894 | printf(" State changed %d times\n", changes); | ||
| 895 | |||
| 896 | tmp = (float)sleep_time / (float)total_time * 100; | ||
| 897 | printf(" Time in sleep state: %lus (%.2f%%)\n", sleep_time, tmp); | ||
| 898 | tmp = (float)active_time / (float)total_time * 100; | ||
| 899 | printf(" Time in active state: %lus (%.2f%%)\n", active_time, tmp); | ||
| 900 | tmp = (float)unknown_time / (float)total_time * 100; | ||
| 901 | printf(" Time in unknown state: %lus (%.2f%%)\n", unknown_time, tmp); | ||
| 902 | } | ||
| 903 | |||
| 904 | void ender(int s) | ||
| 905 | { | ||
| 906 | endit = 1; | ||
| 907 | } | ||
| 908 | |||
| 909 | void usage() | ||
| 910 | { | ||
| 911 | puts("usage: dslm [-w <time>] <disk>"); | ||
| 912 | exit(0); | ||
| 913 | } | ||
| 914 | |||
| 915 | int main(int argc, char **argv) | ||
| 916 | { | ||
| 917 | int fd; | ||
| 918 | char *disk = 0; | ||
| 919 | int settle_time = 60; | ||
| 920 | |||
| 921 | /* Parse the simple command-line */ | ||
| 922 | if (argc == 2) | ||
| 923 | disk = argv[1]; | ||
| 924 | else if (argc == 4) { | ||
| 925 | settle_time = atoi(argv[2]); | ||
| 926 | disk = argv[3]; | ||
| 927 | } else | ||
| 928 | usage(); | ||
| 929 | |||
| 930 | if (!(fd = open(disk, O_RDONLY|O_NONBLOCK))) { | ||
| 931 | printf("Can't open %s, because: %s\n", disk, strerror(errno)); | ||
| 932 | exit(-1); | ||
| 933 | } | ||
| 934 | |||
| 935 | if (settle_time) { | ||
| 936 | printf("Waiting %d seconds for the system to settle down to " | ||
| 937 | "'normal'\n", settle_time); | ||
| 938 | sleep(settle_time); | ||
| 939 | } else | ||
| 940 | puts("Not waiting for system to settle down"); | ||
| 941 | |||
| 942 | signal(SIGINT, ender); | ||
| 943 | |||
| 944 | measure(fd); | ||
| 945 | |||
| 946 | close(fd); | ||
| 947 | |||
| 948 | return 0; | ||
| 949 | } | ||
| 950 | ---------------------------dslm.c END------------------------------------------- | ||
| @@ -3,6 +3,7 @@ · 2 unmodified lines | |||
| 3 | ============================ | 3 | ============================ |
| 4 | 4 | ||
| 5 | By: David Howells <dhowells@redhat.com> | 5 | By: David Howells <dhowells@redhat.com> |
| 6 | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | ||
| 6 | 7 | ||
| 7 | Contents: | 8 | Contents: |
| 8 | 9 | ||
| @@ -60,6 +61,10 @@ Contents: · 51 unmodified lines | |||
| 60 | 61 | ||
| 61 | - And then there's the Alpha. | 62 | - And then there's the Alpha. |
| 62 | 63 | ||
| 64 | (*) Example uses. | ||
| 65 | |||
| 66 | - Circular buffers. | ||
| 67 | |||
| 63 | (*) References. | 68 | (*) References. |
| 64 | 69 | ||
| 65 | 70 | ||
| @@ -2226,6 +2231,21 @@ The Alpha defines the Linux kernel's memory barrier model. · 2160 unmodified lines | |||
| 2226 | See the subsection on "Cache Coherency" above. | 2231 | See the subsection on "Cache Coherency" above. |
| 2227 | 2232 | ||
| 2228 | 2233 | ||
| 2234 | ============ | ||
| 2235 | EXAMPLE USES | ||
| 2236 | ============ | ||
| 2237 | |||
| 2238 | CIRCULAR BUFFERS | ||
| 2239 | ---------------- | ||
| 2240 | |||
| 2241 | Memory barriers can be used to implement circular buffering without the need | ||
| 2242 | of a lock to serialise the producer with the consumer. See: | ||
| 2243 | |||
| 2244 | Documentation/circular-buffers.txt | ||
| 2245 | |||
| 2246 | for details. | ||
| 2247 | |||
| 2248 | |||
| 2229 | ========== | 2249 | ========== |
| 2230 | REFERENCES | 2250 | REFERENCES |
| 2231 | ========== | 2251 | ========== |
| @@ -6,3 +6,5 @@ hostprogs-y := ifenslave · 5 unmodified lines | |||
| 6 | 6 | ||
| 7 | # Tell kbuild to always build the programs | 7 | # Tell kbuild to always build the programs |
| 8 | always := $(hostprogs-y) | 8 | always := $(hostprogs-y) |
| 9 | |||
| 10 | obj-m := timestamping/ | ||
| @@ -68,7 +68,7 @@ Compaq adapters (not tested): · 67 unmodified lines | |||
| 68 | ======================= | 68 | ======================= |
| 69 | 69 | ||
| 70 | From v2.01 on, the driver is integrated in the linux kernel sources. | 70 | From v2.01 on, the driver is integrated in the linux kernel sources. |
| 71 | Therefor, the installation is the same as for any other adapter | 71 | Therefore, the installation is the same as for any other adapter |
| 72 | supported by the kernel. | 72 | supported by the kernel. |
| 73 | Refer to the manual of your distribution about the installation | 73 | Refer to the manual of your distribution about the installation |
| 74 | of network adapters. | 74 | of network adapters. |
| @@ -1,6 +1,13 @@ | |||
| 1 | CPPFLAGS = -I../../../include | 1 | # kbuild trick to avoid linker error. Can be omitted if a module is built. |
| 2 | obj- := dummy.o | ||
| 2 | 3 | ||
| 3 | timestamping: timestamping.c | 4 | # List of programs to build |
| 5 | hostprogs-y := timestamping | ||
| 6 | |||
| 7 | # Tell kbuild to always build the programs | ||
| 8 | always := $(hostprogs-y) | ||
| 9 | |||
| 10 | HOSTCFLAGS_timestamping.o += -I$(objtree)/usr/include | ||
| 4 | 11 | ||
| 5 | clean: | 12 | clean: |
| 6 | rm -f timestamping | 13 | rm -f timestamping |
| @@ -41,9 +41,9 @@ · 40 unmodified lines | |||
| 41 | #include <arpa/inet.h> | 41 | #include <arpa/inet.h> |
| 42 | #include <net/if.h> | 42 | #include <net/if.h> |
| 43 | 43 | ||
| 44 | #include "asm/types.h" | 44 | #include <asm/types.h> |
| 45 | #include "linux/net_tstamp.h" | 45 | #include <linux/net_tstamp.h> |
| 46 | #include "linux/errqueue.h" | 46 | #include <linux/errqueue.h> |
| 47 | 47 | ||
| 48 | #ifndef SO_TIMESTAMPING | 48 | #ifndef SO_TIMESTAMPING |
| 49 | # define SO_TIMESTAMPING 37 | 49 | # define SO_TIMESTAMPING 37 |
| @@ -164,7 +164,7 @@ static void printpacket(struct msghdr *msg, int res, · 114 unmodified lines | |||
| 164 | 164 | ||
| 165 | gettimeofday(&now, 0); | 165 | gettimeofday(&now, 0); |
| 166 | 166 | ||
| 167 | printf("%ld.%06ld: received %s data, %d bytes from %s, %d bytes control messages\n", | 167 | printf("%ld.%06ld: received %s data, %d bytes from %s, %zu bytes control messages\n", |
| 168 | (long)now.tv_sec, (long)now.tv_usec, | 168 | (long)now.tv_sec, (long)now.tv_usec, |
| 169 | (recvmsg_flags & MSG_ERRQUEUE) ? "error" : "regular", | 169 | (recvmsg_flags & MSG_ERRQUEUE) ? "error" : "regular", |
| 170 | res, | 170 | res, |
| @@ -173,7 +173,7 @@ static void printpacket(struct msghdr *msg, int res, · 2 unmodified lines | |||
| 173 | for (cmsg = CMSG_FIRSTHDR(msg); | 173 | for (cmsg = CMSG_FIRSTHDR(msg); |
| 174 | cmsg; | 174 | cmsg; |
| 175 | cmsg = CMSG_NXTHDR(msg, cmsg)) { | 175 | cmsg = CMSG_NXTHDR(msg, cmsg)) { |
| 176 | printf(" cmsg len %d: ", cmsg->cmsg_len); | 176 | printf(" cmsg len %zu: ", cmsg->cmsg_len); |
| 177 | switch (cmsg->cmsg_level) { | 177 | switch (cmsg->cmsg_level) { |
| 178 | case SOL_SOCKET: | 178 | case SOL_SOCKET: |
| 179 | printf("SOL_SOCKET "); | 179 | printf("SOL_SOCKET "); |
| @@ -370,7 +370,7 @@ int main(int argc, char **argv) · 190 unmodified lines | |||
| 370 | } | 370 | } |
| 371 | 371 | ||
| 372 | sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP); | 372 | sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP); |
| 373 | if (socket < 0) | 373 | if (sock < 0) |
| 374 | bail("socket"); | 374 | bail("socket"); |
| 375 | 375 | ||
| 376 | memset(&device, 0, sizeof(device)); | 376 | memset(&device, 0, sizeof(device)); |
| @@ -57,7 +57,7 @@ PC standard floppy disk controller · 56 unmodified lines | |||
| 57 | # cat resources | 57 | # cat resources |
| 58 | DISABLED | 58 | DISABLED |
| 59 | 59 | ||
| 60 | - Notice the string "DISABLED". THis means the device is not active. | 60 | - Notice the string "DISABLED". This means the device is not active. |
| 61 | 61 | ||
| 62 | 3.) check the device's possible configurations (optional) | 62 | 3.) check the device's possible configurations (optional) |
| 63 | # cat options | 63 | # cat options |
| @@ -139,7 +139,7 @@ Plug and Play but it is planned to be in the near future. · 75 unmodified lines | |||
| 139 | 139 | ||
| 140 | Requirements for a Linux PnP protocol: | 140 | Requirements for a Linux PnP protocol: |
| 141 | 1.) the protocol must use EISA IDs | 141 | 1.) the protocol must use EISA IDs |
| 142 | 2.) the protocol must inform the PnP Layer of a devices current configuration | 142 | 2.) the protocol must inform the PnP Layer of a device's current configuration |
| 143 | - the ability to set resources is optional but preferred. | 143 | - the ability to set resources is optional but preferred. |
| 144 | 144 | ||
| 145 | The following are PnP protocol related functions: | 145 | The following are PnP protocol related functions: |
| @@ -158,7 +158,7 @@ pnp_remove_device · 12 unmodified lines | |||
| 158 | - automatically will free mem used by the device and related structures | 158 | - automatically will free mem used by the device and related structures |
| 159 | 159 | ||
| 160 | pnp_add_id | 160 | pnp_add_id |
| 161 | - adds a EISA ID to the list of supported IDs for the specified device | 161 | - adds an EISA ID to the list of supported IDs for the specified device |
| 162 | 162 | ||
| 163 | For more information consult the source of a protocol such as | 163 | For more information consult the source of a protocol such as |
| 164 | /drivers/pnp/pnpbios/core.c. | 164 | /drivers/pnp/pnpbios/core.c. |
| @@ -167,7 +167,7 @@ For more information consult the source of a protocol such as · 2 unmodified lines | |||
| 167 | 167 | ||
| 168 | Linux Plug and Play Drivers | 168 | Linux Plug and Play Drivers |
| 169 | --------------------------- | 169 | --------------------------- |
| 170 | This section contains information for linux PnP driver developers. | 170 | This section contains information for Linux PnP driver developers. |
| 171 | 171 | ||
| 172 | The New Way | 172 | The New Way |
| 173 | ........... | 173 | ........... |
| @@ -235,11 +235,10 @@ static int __init serial8250_pnp_init(void) · 61 unmodified lines | |||
| 235 | The Old Way | 235 | The Old Way |
| 236 | ........... | 236 | ........... |
| 237 | 237 | ||
| 238 | a series of compatibility functions have been created to make it easy to convert | 238 | A series of compatibility functions have been created to make it easy to convert |
| 239 | |||
| 240 | ISAPNP drivers. They should serve as a temporary solution only. | 239 | ISAPNP drivers. They should serve as a temporary solution only. |
| 241 | 240 | ||
| 242 | they are as follows: | 241 | They are as follows: |
| 243 | 242 | ||
| 244 | struct pnp_card *pnp_find_card(unsigned short vendor, | 243 | struct pnp_card *pnp_find_card(unsigned short vendor, |
| 245 | unsigned short device, | 244 | unsigned short device, |
| @@ -224,6 +224,12 @@ defined in include/linux/pm.h: · 223 unmodified lines | |||
| 224 | RPM_SUSPENDED, which means that each device is initially regarded by the | 224 | RPM_SUSPENDED, which means that each device is initially regarded by the |
| 225 | PM core as 'suspended', regardless of its real hardware status | 225 | PM core as 'suspended', regardless of its real hardware status |
| 226 | 226 | ||
| 227 | unsigned int runtime_auto; | ||
| 228 | - if set, indicates that the user space has allowed the device driver to | ||
| 229 | power manage the device at run time via the /sys/devices/.../power/control | ||
| 230 | interface; it may only be modified with the help of the pm_runtime_allow() | ||
| 231 | and pm_runtime_forbid() helper functions | ||
| 232 | |||
| 227 | All of the above fields are members of the 'power' member of 'struct device'. | 233 | All of the above fields are members of the 'power' member of 'struct device'. |
| 228 | 234 | ||
| 229 | 4. Run-time PM Device Helper Functions | 235 | 4. Run-time PM Device Helper Functions |
| @@ -250,7 +256,7 @@ drivers/base/power/runtime.c and include/linux/pm_runtime.h: · 20 unmodified lines | |||
| 250 | to suspend the device again in future | 256 | to suspend the device again in future |
| 251 | 257 | ||
| 252 | int pm_runtime_resume(struct device *dev); | 258 | int pm_runtime_resume(struct device *dev); |
| 253 | - execute the subsystem-leve resume callback for the device; returns 0 on | 259 | - execute the subsystem-level resume callback for the device; returns 0 on |
| 254 | success, 1 if the device's run-time PM status was already 'active' or | 260 | success, 1 if the device's run-time PM status was already 'active' or |
| 255 | error code on failure, where -EAGAIN means it may be safe to attempt to | 261 | error code on failure, where -EAGAIN means it may be safe to attempt to |
| 256 | resume the device again in future, but 'power.runtime_error' should be | 262 | resume the device again in future, but 'power.runtime_error' should be |
| @@ -329,6 +335,20 @@ drivers/base/power/runtime.c and include/linux/pm_runtime.h: · 72 unmodified lines | |||
| 329 | 'power.runtime_error' is set or 'power.disable_depth' is greater than | 335 | 'power.runtime_error' is set or 'power.disable_depth' is greater than |
| 330 | zero) | 336 | zero) |
| 331 | 337 | ||
| 338 | bool pm_runtime_suspended(struct device *dev); | ||
| 339 | - return true if the device's runtime PM status is 'suspended', or false | ||
| 340 | otherwise | ||
| 341 | |||
| 342 | void pm_runtime_allow(struct device *dev); | ||
| 343 | - set the power.runtime_auto flag for the device and decrease its usage | ||
| 344 | counter (used by the /sys/devices/.../power/control interface to | ||
| 345 | effectively allow the device to be power managed at run time) | ||
| 346 | |||
| 347 | void pm_runtime_forbid(struct device *dev); | ||
| 348 | - unset the power.runtime_auto flag for the device and increase its usage | ||
| 349 | counter (used by the /sys/devices/.../power/control interface to | ||
| 350 | effectively prevent the device from being power managed at run time) | ||
| 351 | |||
| 332 | It is safe to execute the following helper functions from interrupt context: | 352 | It is safe to execute the following helper functions from interrupt context: |
| 333 | 353 | ||
| 334 | pm_request_idle() | 354 | pm_request_idle() |
| @@ -382,6 +402,18 @@ may be desirable to suspend the device as soon as ->probe() or ->remove() has · 47 unmodified lines | |||
| 382 | finished, so the PM core uses pm_runtime_idle_sync() to invoke the | 402 | finished, so the PM core uses pm_runtime_idle_sync() to invoke the |
| 383 | subsystem-level idle callback for the device at that time. | 403 | subsystem-level idle callback for the device at that time. |
| 384 | 404 | ||
| 405 | The user space can effectively disallow the driver of the device to power manage | ||
| 406 | it at run time by changing the value of its /sys/devices/.../power/control | ||
| 407 | attribute to "on", which causes pm_runtime_forbid() to be called. In principle, | ||
| 408 | this mechanism may also be used by the driver to effectively turn off the | ||
| 409 | run-time power management of the device until the user space turns it on. | ||
| 410 | Namely, during the initialization the driver can make sure that the run-time PM | ||
| 411 | status of the device is 'active' and call pm_runtime_forbid(). It should be | ||
| 412 | noted, however, that if the user space has already intentionally changed the | ||
| 413 | value of /sys/devices/.../power/control to "auto" to allow the driver to power | ||
| 414 | manage the device at run time, the driver may confuse it by using | ||
| 415 | pm_runtime_forbid() this way. | ||
| 416 | |||
| 385 | 6. Run-time PM and System Sleep | 417 | 6. Run-time PM and System Sleep |
| 386 | 418 | ||
| 387 | Run-time PM and system sleep (i.e., system suspend and hibernation, also known | 419 | Run-time PM and system sleep (i.e., system suspend and hibernation, also known |
| @@ -431,3 +463,64 @@ The PM core always increments the run-time usage counter before calling the · 43 unmodified lines | |||
| 431 | ->prepare() callback and decrements it after calling the ->complete() callback. | 463 | ->prepare() callback and decrements it after calling the ->complete() callback. |
| 432 | Hence disabling run-time PM temporarily like this will not cause any run-time | 464 | Hence disabling run-time PM temporarily like this will not cause any run-time |
| 433 | suspend callbacks to be lost. | 465 | suspend callbacks to be lost. |
| 466 | |||
| 467 | 7. Generic subsystem callbacks | ||
| 468 | |||
| 469 | Subsystems may wish to conserve code space by using the set of generic power | ||
| 470 | management callbacks provided by the PM core, defined in | ||
| 471 | driver/base/power/generic_ops.c: | ||
| 472 | |||
| 473 | int pm_generic_runtime_idle(struct device *dev); | ||
| 474 | - invoke the ->runtime_idle() callback provided by the driver of this | ||
| 475 | device, if defined, and call pm_runtime_suspend() for this device if the | ||
| 476 | return value is 0 or the callback is not defined | ||
| 477 | |||
| 478 | int pm_generic_runtime_suspend(struct device *dev); | ||
| 479 | - invoke the ->runtime_suspend() callback provided by the driver of this | ||
| 480 | device and return its result, or return -EINVAL if not defined | ||
| 481 | |||
| 482 | int pm_generic_runtime_resume(struct device *dev); | ||
| 483 | - invoke the ->runtime_resume() callback provided by the driver of this | ||
| 484 | device and return its result, or return -EINVAL if not defined | ||
| 485 | |||
| 486 | int pm_generic_suspend(struct device *dev); | ||
| 487 | - if the device has not been suspended at run time, invoke the ->suspend() | ||
| 488 | callback provided by its driver and return its result, or return 0 if not | ||
| 489 | defined | ||
| 490 | |||
| 491 | int pm_generic_resume(struct device *dev); | ||
| 492 | - invoke the ->resume() callback provided by the driver of this device and, | ||
| 493 | if successful, change the device's runtime PM status to 'active' | ||
| 494 | |||
| 495 | int pm_generic_freeze(struct device *dev); | ||
| 496 | - if the device has not been suspended at run time, invoke the ->freeze() | ||
| 497 | callback provided by its driver and return its result, or return 0 if not | ||
| 498 | defined | ||
| 499 | |||
| 500 | int pm_generic_thaw(struct device *dev); | ||
| 501 | - if the device has not been suspended at run time, invoke the ->thaw() | ||
| 502 | callback provided by its driver and return its result, or return 0 if not | ||
| 503 | defined | ||
| 504 | |||
| 505 | int pm_generic_poweroff(struct device *dev); | ||
| 506 | - if the device has not been suspended at run time, invoke the ->poweroff() | ||
| 507 | callback provided by its driver and return its result, or return 0 if not | ||
| 508 | defined | ||
| 509 | |||
| 510 | int pm_generic_restore(struct device *dev); | ||
| 511 | - invoke the ->restore() callback provided by the driver of this device and, | ||
| 512 | if successful, change the device's runtime PM status to 'active' | ||
| 513 | |||
| 514 | These functions can be assigned to the ->runtime_idle(), ->runtime_suspend(), | ||
| 515 | ->runtime_resume(), ->suspend(), ->resume(), ->freeze(), ->thaw(), ->poweroff(), | ||
| 516 | or ->restore() callback pointers in the subsystem-level dev_pm_ops structures. | ||
| 517 | |||
| 518 | If a subsystem wishes to use all of them at the same time, it can simply assign | ||
| 519 | the GENERIC_SUBSYS_PM_OPS macro, defined in include/linux/pm.h, to its | ||
| 520 | dev_pm_ops structure pointer. | ||
| 521 | |||
| 522 | Device drivers that wish to use the same function as a system suspend, freeze, | ||
| 523 | poweroff and run-time suspend callback, and similarly for system resume, thaw, | ||
| 524 | restore, and run-time resume, can achieve this with the help of the | ||
| 525 | UNIVERSAL_DEV_PM_OPS macro defined in include/linux/pm.h (possibly setting its | ||
| 526 | last argument to NULL). | ||
| @@ -44,21 +44,29 @@ Example: · 43 unmodified lines | |||
| 44 | compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel"; | 44 | compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel"; |
| 45 | cell-index = <0>; | 45 | cell-index = <0>; |
| 46 | reg = <0 0x80>; | 46 | reg = <0 0x80>; |
| 47 | interrupt-parent = <&ipic>; | ||
| 48 | interrupts = <71 8>; | ||
| 47 | }; | 49 | }; |
| 48 | dma-channel@80 { | 50 | dma-channel@80 { |
| 49 | compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel"; | 51 | compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel"; |
| 50 | cell-index = <1>; | 52 | cell-index = <1>; |
| 51 | reg = <0x80 0x80>; | 53 | reg = <0x80 0x80>; |
| 54 | interrupt-parent = <&ipic>; | ||
| 55 | interrupts = <71 8>; | ||
| 52 | }; | 56 | }; |
| 53 | dma-channel@100 { | 57 | dma-channel@100 { |
| 54 | compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel"; | 58 | compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel"; |
| 55 | cell-index = <2>; | 59 | cell-index = <2>; |
| 56 | reg = <0x100 0x80>; | 60 | reg = <0x100 0x80>; |
| 61 | interrupt-parent = <&ipic>; | ||
| 62 | interrupts = <71 8>; | ||
| 57 | }; | 63 | }; |
| 58 | dma-channel@180 { | 64 | dma-channel@180 { |
| 59 | compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel"; | 65 | compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel"; |
| 60 | cell-index = <3>; | 66 | cell-index = <3>; |
| 61 | reg = <0x180 0x80>; | 67 | reg = <0x180 0x80>; |
| 68 | interrupt-parent = <&ipic>; | ||
| 69 | interrupts = <71 8>; | ||
| 62 | }; | 70 | }; |
| 63 | }; | 71 | }; |
| 64 | 72 | ||
| @@ -2,15 +2,14 @@ · 1 unmodified line | |||
| 2 | 2 | ||
| 3 | Required properties : | 3 | Required properties : |
| 4 | 4 | ||
| 5 | - device_type : Should be "i2c" | ||
| 6 | - reg : Offset and length of the register set for the device | 5 | - reg : Offset and length of the register set for the device |
| 6 | - compatible : should be "fsl,CHIP-i2c" where CHIP is the name of a | ||
| 7 | compatible processor, e.g. mpc8313, mpc8543, mpc8544, mpc5121, | ||
| 8 | mpc5200 or mpc5200b. For the mpc5121, an additional node | ||
| 9 | "fsl,mpc5121-i2c-ctrl" is required as shown in the example below. | ||
| 7 | 10 | ||
| 8 | Recommended properties : | 11 | Recommended properties : |
| 9 | 12 | ||
| 10 | - compatible : compatibility list with 2 entries, the first should | ||
| 11 | be "fsl,CHIP-i2c" where CHIP is the name of a compatible processor, | ||
| 12 | e.g. mpc8313, mpc8543, mpc8544, mpc5200 or mpc5200b. The second one | ||
| 13 | should be "fsl-i2c". | ||
| 14 | - interrupts : <a b> where a is the interrupt number and b is a | 13 | - interrupts : <a b> where a is the interrupt number and b is a |
| 15 | field that represents an encoding of the sense and level | 14 | field that represents an encoding of the sense and level |
| 16 | information for the interrupt. This should be encoded based on | 15 | information for the interrupt. This should be encoded based on |
| @@ -24,25 +23,40 @@ Recommended properties : · 7 unmodified lines | |||
| 24 | 23 | ||
| 25 | Examples : | 24 | Examples : |
| 26 | 25 | ||
| 26 | /* MPC5121 based board */ | ||
| 27 | i2c@1740 { | ||
| 28 | #address-cells = <1>; | ||
| 29 | #size-cells = <0>; | ||
| 30 | compatible = "fsl,mpc5121-i2c", "fsl-i2c"; | ||
| 31 | reg = <0x1740 0x20>; | ||
| 32 | interrupts = <11 0x8>; | ||
| 33 | interrupt-parent = <&ipic>; | ||
| 34 | clock-frequency = <100000>; | ||
| 35 | }; | ||
| 36 | |||
| 37 | i2ccontrol@1760 { | ||
| 38 | compatible = "fsl,mpc5121-i2c-ctrl"; | ||
| 39 | reg = <0x1760 0x8>; | ||
| 40 | }; | ||
| 41 | |||
| 42 | /* MPC5200B based board */ | ||
| 27 | i2c@3d00 { | 43 | i2c@3d00 { |
| 28 | #address-cells = <1>; | 44 | #address-cells = <1>; |
| 29 | #size-cells = <0>; | 45 | #size-cells = <0>; |
| 30 | compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; | 46 | compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; |
| 31 | cell-index = <0>; | ||
| 32 | reg = <0x3d00 0x40>; | 47 | reg = <0x3d00 0x40>; |
| 33 | interrupts = <2 15 0>; | 48 | interrupts = <2 15 0>; |
| 34 | interrupt-parent = <&mpc5200_pic>; | 49 | interrupt-parent = <&mpc5200_pic>; |
| 35 | fsl,preserve-clocking; | 50 | fsl,preserve-clocking; |
| 36 | }; | 51 | }; |
| 37 | 52 | ||
| 53 | /* MPC8544 base board */ | ||
| 38 | i2c@3100 { | 54 | i2c@3100 { |
| 39 | #address-cells = <1>; | 55 | #address-cells = <1>; |
| 40 | #size-cells = <0>; | 56 | #size-cells = <0>; |
| 41 | cell-index = <1>; | ||
| 42 | compatible = "fsl,mpc8544-i2c", "fsl-i2c"; | 57 | compatible = "fsl,mpc8544-i2c", "fsl-i2c"; |
| 43 | reg = <0x3100 0x100>; | 58 | reg = <0x3100 0x100>; |
| 44 | interrupts = <43 2>; | 59 | interrupts = <43 2>; |
| 45 | interrupt-parent = <&mpic>; | 60 | interrupt-parent = <&mpic>; |
| 46 | clock-frequency = <400000>; | 61 | clock-frequency = <400000>; |
| 47 | }; | 62 | }; |
| 48 | |||
| @@ -102,7 +102,7 @@ args: unsigned long · 101 unmodified lines | |||
| 102 | see also: include/linux/kvm.h | 102 | see also: include/linux/kvm.h |
| 103 | This ioctl stores the state of the cpu at the guest real address given as | 103 | This ioctl stores the state of the cpu at the guest real address given as |
| 104 | argument, unless one of the following values defined in include/linux/kvm.h | 104 | argument, unless one of the following values defined in include/linux/kvm.h |
| 105 | is given as arguement: | 105 | is given as argument: |
| 106 | KVM_S390_STORE_STATUS_NOADDR - the CPU stores its status to the save area in | 106 | KVM_S390_STORE_STATUS_NOADDR - the CPU stores its status to the save area in |
| 107 | absolute lowcore as defined by the principles of operation | 107 | absolute lowcore as defined by the principles of operation |
| 108 | KVM_S390_STORE_STATUS_PREFIXED - the CPU stores its status to the save area in | 108 | KVM_S390_STORE_STATUS_PREFIXED - the CPU stores its status to the save area in |
| @@ -989,8 +989,8 @@ Changes from 20040709 to 20040716 · 988 unmodified lines | |||
| 989 | * Remove redundant port_cmp != 2 check in if | 989 | * Remove redundant port_cmp != 2 check in if |
| 990 | (!port_cmp) { .... if (port_cmp != 2).... } | 990 | (!port_cmp) { .... if (port_cmp != 2).... } |
| 991 | * Clock changes: removed struct clk_data and timerList. | 991 | * Clock changes: removed struct clk_data and timerList. |
| 992 | * Clock changes: seperate nodev_tmo and els_retry_delay into 2 | 992 | * Clock changes: separate nodev_tmo and els_retry_delay into 2 |
| 993 | seperate timers and convert to 1 argument changed | 993 | separate timers and convert to 1 argument changed |
| 994 | LPFC_NODE_FARP_PEND_t to struct lpfc_node_farp_pend convert | 994 | LPFC_NODE_FARP_PEND_t to struct lpfc_node_farp_pend convert |
| 995 | ipfarp_tmo to 1 argument convert target struct tmofunc and | 995 | ipfarp_tmo to 1 argument convert target struct tmofunc and |
| 996 | rtplunfunc to 1 argument * cr_count, cr_delay and | 996 | rtplunfunc to 1 argument * cr_count, cr_delay and |
| @@ -1514,7 +1514,7 @@ Changes from 20040402 to 20040409 · 517 unmodified lines | |||
| 1514 | * Remove unused elxclock declaration in elx_sli.h. | 1514 | * Remove unused elxclock declaration in elx_sli.h. |
| 1515 | * Since everywhere IOCB_ENTRY is used, the return value is cast, | 1515 | * Since everywhere IOCB_ENTRY is used, the return value is cast, |
| 1516 | move the cast into the macro. | 1516 | move the cast into the macro. |
| 1517 | * Split ioctls out into seperate files | 1517 | * Split ioctls out into separate files |
| 1518 | 1518 | ||
| 1519 | Changes from 20040326 to 20040402 | 1519 | Changes from 20040326 to 20040402 |
| 1520 | 1520 | ||
| @@ -1534,7 +1534,7 @@ Changes from 20040326 to 20040402 · 13 unmodified lines | |||
| 1534 | * Unused variable cleanup | 1534 | * Unused variable cleanup |
| 1535 | * Use Linux list macros for DMABUF_t | 1535 | * Use Linux list macros for DMABUF_t |
| 1536 | * Break up ioctls into 3 sections, dfc, util, hbaapi | 1536 | * Break up ioctls into 3 sections, dfc, util, hbaapi |
| 1537 | rearranged code so this could be easily seperated into a | 1537 | rearranged code so this could be easily separated into a |
| 1538 | differnet module later All 3 are currently turned on by | 1538 | differnet module later All 3 are currently turned on by |
| 1539 | defines in lpfc_ioctl.c LPFC_DFC_IOCTL, LPFC_UTIL_IOCTL, | 1539 | defines in lpfc_ioctl.c LPFC_DFC_IOCTL, LPFC_UTIL_IOCTL, |
| 1540 | LPFC_HBAAPI_IOCTL | 1540 | LPFC_HBAAPI_IOCTL |
| @@ -1551,7 +1551,7 @@ Changes from 20040326 to 20040402 · 10 unmodified lines | |||
| 1551 | started by lpfc_online(). lpfc_offline() only stopped | 1551 | started by lpfc_online(). lpfc_offline() only stopped |
| 1552 | els_timeout routine. It now stops all timeout routines | 1552 | els_timeout routine. It now stops all timeout routines |
| 1553 | associated with that hba. | 1553 | associated with that hba. |
| 1554 | * Replace seperate next and prev pointers in struct | 1554 | * Replace separate next and prev pointers in struct |
| 1555 | lpfc_bindlist with list_head type. In elxHBA_t, replace | 1555 | lpfc_bindlist with list_head type. In elxHBA_t, replace |
| 1556 | fc_nlpbind_start and _end with fc_nlpbind_list and use | 1556 | fc_nlpbind_start and _end with fc_nlpbind_list and use |
| 1557 | list_head macros to access it. | 1557 | list_head macros to access it. |
| @@ -105,6 +105,10 @@ write_wakeup() - May be called at any point between open and close. · 104 unmodified lines | |||
| 105 | is permitted to call the driver write method from | 105 | is permitted to call the driver write method from |
| 106 | this function. In such a situation defer it. | 106 | this function. In such a situation defer it. |
| 107 | 107 | ||
| 108 | dcd_change() - Report to the tty line the current DCD pin status | ||
| 109 | changes and the relative timestamp. The timestamp | ||
| 110 | can be NULL. | ||
| 111 | |||
| 108 | 112 | ||
| 109 | Driver Access | 113 | Driver Access |
| 110 | 114 | ||
| @@ -1812,7 +1812,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. · 1811 unmodified lines | |||
| 1812 | Module snd-ua101 | 1812 | Module snd-ua101 |
| 1813 | ---------------- | 1813 | ---------------- |
| 1814 | 1814 | ||
| 1815 | Module for the Edirol UA-101 audio/MIDI interface. | 1815 | Module for the Edirol UA-101/UA-1000 audio/MIDI interfaces. |
| 1816 | 1816 | ||
| 1817 | This module supports multiple devices, autoprobe and hotplugging. | 1817 | This module supports multiple devices, autoprobe and hotplugging. |
| 1818 | 1818 | ||
| @@ -573,11 +573,14 @@ Because other nodes' memory may be free. This means system total status · 572 unmodified lines | |||
| 573 | may be not fatal yet. | 573 | may be not fatal yet. |
| 574 | 574 | ||
| 575 | If this is set to 2, the kernel panics compulsorily even on the | 575 | If this is set to 2, the kernel panics compulsorily even on the |
| 576 | above-mentioned. | 576 | above-mentioned. Even oom happens under memory cgroup, the whole |
| 577 | system panics. | ||
| 577 | 578 | ||
| 578 | The default value is 0. | 579 | The default value is 0. |
| 579 | 1 and 2 are for failover of clustering. Please select either | 580 | 1 and 2 are for failover of clustering. Please select either |
| 580 | according to your policy of failover. | 581 | according to your policy of failover. |
| 582 | panic_on_oom=2+kdump gives you very strong tool to investigate | ||
| 583 | why oom happens. You can get snapshot. | ||
| 581 | 584 | ||
| 582 | ============================================================= | 585 | ============================================================= |
| 583 | 586 | ||
| @@ -4,6 +4,8 @@ highres.txt · 3 unmodified lines | |||
| 4 | - High resolution timers and dynamic ticks design notes | 4 | - High resolution timers and dynamic ticks design notes |
| 5 | hpet.txt | 5 | hpet.txt |
| 6 | - High Precision Event Timer Driver for Linux | 6 | - High Precision Event Timer Driver for Linux |
| 7 | hpet_example.c | ||
| 8 | - sample hpet timer test program | ||
| 7 | hrtimers.txt | 9 | hrtimers.txt |
| 8 | - subsystem for high-resolution kernel timers | 10 | - subsystem for high-resolution kernel timers |
| 9 | timer_stats.txt | 11 | timer_stats.txt |
| @@ -0,0 +1,8 @@ | |||
| 1 | # kbuild trick to avoid linker error. Can be omitted if a module is built. | ||
| 2 | obj- := dummy.o | ||
| 3 | |||
| 4 | # List of programs to build | ||
| 5 | hostprogs-y := hpet_example | ||
| 6 | |||
| 7 | # Tell kbuild to always build the programs | ||
| 8 | always := $(hostprogs-y) | ||
| @@ -26,274 +26,5 @@ initialization. An example of this initialization can be found in · 25 unmodified lines | |||
| 26 | arch/x86/kernel/hpet.c. | 26 | arch/x86/kernel/hpet.c. |
| 27 | 27 | ||
| 28 | The driver provides a userspace API which resembles the API found in the | 28 | The driver provides a userspace API which resembles the API found in the |
| 29 | RTC driver framework. An example user space program is provided below. | 29 | RTC driver framework. An example user space program is provided in |
| 30 | 30 | file:Documentation/timers/hpet_example.c | |
| 31 | #include <stdio.h> | ||
| 32 | #include <stdlib.h> | ||
| 33 | #include <unistd.h> | ||
| 34 | #include <fcntl.h> | ||
| 35 | #include <string.h> | ||
| 36 | #include <memory.h> | ||
| 37 | #include <malloc.h> | ||
| 38 | #include <time.h> | ||
| 39 | #include <ctype.h> | ||
| 40 | #include <sys/types.h> | ||
| 41 | #include <sys/wait.h> | ||
| 42 | #include <signal.h> | ||
| 43 | #include <fcntl.h> | ||
| 44 | #include <errno.h> | ||
| 45 | #include <sys/time.h> | ||
| 46 | #include <linux/hpet.h> | ||
| 47 | |||
| 48 | |||
| 49 | extern void hpet_open_close(int, const char **); | ||
| 50 | extern void hpet_info(int, const char **); | ||
| 51 | extern void hpet_poll(int, const char **); | ||
| 52 | extern void hpet_fasync(int, const char **); | ||
| 53 | extern void hpet_read(int, const char **); | ||
| 54 | |||
| 55 | #include <sys/poll.h> | ||
| 56 | #include <sys/ioctl.h> | ||
| 57 | #include <signal.h> | ||
| 58 | |||
| 59 | struct hpet_command { | ||
| 60 | char *command; | ||
| 61 | void (*func)(int argc, const char ** argv); | ||
| 62 | } hpet_command[] = { | ||
| 63 | { | ||
| 64 | "open-close", | ||
| 65 | hpet_open_close | ||
| 66 | }, | ||
| 67 | { | ||
| 68 | "info", | ||
| 69 | hpet_info | ||
| 70 | }, | ||
| 71 | { | ||
| 72 | "poll", | ||
| 73 | hpet_poll | ||
| 74 | }, | ||
| 75 | { | ||
| 76 | "fasync", | ||
| 77 | hpet_fasync | ||
| 78 | }, | ||
| 79 | }; | ||
| 80 | |||
| 81 | int | ||
| 82 | main(int argc, const char ** argv) | ||
| 83 | { | ||
| 84 | int i; | ||
| 85 | |||
| 86 | argc--; | ||
| 87 | argv++; | ||
| 88 | |||
| 89 | if (!argc) { | ||
| 90 | fprintf(stderr, "-hpet: requires command\n"); | ||
| 91 | return -1; | ||
| 92 | } | ||
| 93 | |||
| 94 | |||
| 95 | for (i = 0; i < (sizeof (hpet_command) / sizeof (hpet_command[0])); i++) | ||
| 96 | if (!strcmp(argv[0], hpet_command[i].command)) { | ||
| 97 | argc--; | ||
| 98 | argv++; | ||
| 99 | fprintf(stderr, "-hpet: executing %s\n", | ||
| 100 | hpet_command[i].command); | ||
| 101 | hpet_command[i].func(argc, argv); | ||
| 102 | return 0; | ||
| 103 | } | ||
| 104 | |||
| 105 | fprintf(stderr, "do_hpet: command %s not implemented\n", argv[0]); | ||
| 106 | |||
| 107 | return -1; | ||
| 108 | } | ||
| 109 | |||
| 110 | void | ||
| 111 | hpet_open_close(int argc, const char **argv) | ||
| 112 | { | ||
| 113 | int fd; | ||
| 114 | |||
| 115 | if (argc != 1) { | ||
| 116 | fprintf(stderr, "hpet_open_close: device-name\n"); | ||
| 117 | return; | ||
| 118 | } | ||
| 119 | |||
| 120 | fd = open(argv[0], O_RDONLY); | ||
| 121 | if (fd < 0) | ||
| 122 | fprintf(stderr, "hpet_open_close: open failed\n"); | ||
| 123 | else | ||
| 124 | close(fd); | ||
| 125 | |||
| 126 | return; | ||
| 127 | } | ||
| 128 | |||
| 129 | void | ||
| 130 | hpet_info(int argc, const char **argv) | ||
| 131 | { | ||
| 132 | } | ||
| 133 | |||
| 134 | void | ||
| 135 | hpet_poll(int argc, const char **argv) | ||
| 136 | { | ||
| 137 | unsigned long freq; | ||
| 138 | int iterations, i, fd; | ||
| 139 | struct pollfd pfd; | ||
| 140 | struct hpet_info info; | ||
| 141 | struct timeval stv, etv; | ||
| 142 | struct timezone tz; | ||
| 143 | long usec; | ||
| 144 | |||
| 145 | if (argc != 3) { | ||
| 146 | fprintf(stderr, "hpet_poll: device-name freq iterations\n"); | ||
| 147 | return; | ||
| 148 | } | ||
| 149 | |||
| 150 | freq = atoi(argv[1]); | ||
| 151 | iterations = atoi(argv[2]); | ||
| 152 | |||
| 153 | fd = open(argv[0], O_RDONLY); | ||
| 154 | |||
| 155 | if (fd < 0) { | ||
| 156 | fprintf(stderr, "hpet_poll: open of %s failed\n", argv[0]); | ||
| 157 | return; | ||
| 158 | } | ||
| 159 | |||
| 160 | if (ioctl(fd, HPET_IRQFREQ, freq) < 0) { | ||
| 161 | fprintf(stderr, "hpet_poll: HPET_IRQFREQ failed\n"); | ||
| 162 | goto out; | ||
| 163 | } | ||
| 164 | |||
| 165 | if (ioctl(fd, HPET_INFO, &info) < 0) { | ||
| 166 | fprintf(stderr, "hpet_poll: failed to get info\n"); | ||
| 167 | goto out; | ||
| 168 | } | ||
| 169 | |||
| 170 | fprintf(stderr, "hpet_poll: info.hi_flags 0x%lx\n", info.hi_flags); | ||
| 171 | |||
| 172 | if (info.hi_flags && (ioctl(fd, HPET_EPI, 0) < 0)) { | ||
| 173 | fprintf(stderr, "hpet_poll: HPET_EPI failed\n"); | ||
| 174 | goto out; | ||
| 175 | } | ||
| 176 | |||
| 177 | if (ioctl(fd, HPET_IE_ON, 0) < 0) { | ||
| 178 | fprintf(stderr, "hpet_poll, HPET_IE_ON failed\n"); | ||
| 179 | goto out; | ||
| 180 | } | ||
| 181 | |||
| 182 | pfd.fd = fd; | ||
| 183 | pfd.events = POLLIN; | ||
| 184 | |||
| 185 | for (i = 0; i < iterations; i++) { | ||
| 186 | pfd.revents = 0; | ||
| 187 | gettimeofday(&stv, &tz); | ||
| 188 | if (poll(&pfd, 1, -1) < 0) | ||
| 189 | fprintf(stderr, "hpet_poll: poll failed\n"); | ||
| 190 | else { | ||
| 191 | long data; | ||
| 192 | |||
| 193 | gettimeofday(&etv, &tz); | ||
| 194 | usec = stv.tv_sec * 1000000 + stv.tv_usec; | ||
| 195 | usec = (etv.tv_sec * 1000000 + etv.tv_usec) - usec; | ||
| 196 | |||
| 197 | fprintf(stderr, | ||
| 198 | "hpet_poll: expired time = 0x%lx\n", usec); | ||
| 199 | |||
| 200 | fprintf(stderr, "hpet_poll: revents = 0x%x\n", | ||
| 201 | pfd.revents); | ||
| 202 | |||
| 203 | if (read(fd, &data, sizeof(data)) != sizeof(data)) { | ||
| 204 | fprintf(stderr, "hpet_poll: read failed\n"); | ||
| 205 | } | ||
| 206 | else | ||
| 207 | fprintf(stderr, "hpet_poll: data 0x%lx\n", | ||
| 208 | data); | ||
| 209 | } | ||
| 210 | } | ||
| 211 | |||
| 212 | out: | ||
| 213 | close(fd); | ||
| 214 | return; | ||
| 215 | } | ||
| 216 | |||
| 217 | static int hpet_sigio_count; | ||
| 218 | |||
| 219 | static void | ||
| 220 | hpet_sigio(int val) | ||
| 221 | { | ||
| 222 | fprintf(stderr, "hpet_sigio: called\n"); | ||
| 223 | hpet_sigio_count++; | ||
| 224 | } | ||
| 225 | |||
| 226 | void | ||
| 227 | hpet_fasync(int argc, const char **argv) | ||
| 228 | { | ||
| 229 | unsigned long freq; | ||
| 230 | int iterations, i, fd, value; | ||
| 231 | sig_t oldsig; | ||
| 232 | struct hpet_info info; | ||
| 233 | |||
| 234 | hpet_sigio_count = 0; | ||
| 235 | fd = -1; | ||
| 236 | |||
| 237 | if ((oldsig = signal(SIGIO, hpet_sigio)) == SIG_ERR) { | ||
| 238 | fprintf(stderr, "hpet_fasync: failed to set signal handler\n"); | ||
| 239 | return; | ||
| 240 | } | ||
| 241 | |||
| 242 | if (argc != 3) { | ||
| 243 | fprintf(stderr, "hpet_fasync: device-name freq iterations\n"); | ||
| 244 | goto out; | ||
| 245 | } | ||
| 246 | |||
| 247 | fd = open(argv[0], O_RDONLY); | ||
| 248 | |||
| 249 | if (fd < 0) { | ||
| 250 | fprintf(stderr, "hpet_fasync: failed to open %s\n", argv[0]); | ||
| 251 | return; | ||
| 252 | } | ||
| 253 | |||
| 254 | |||
| 255 | if ((fcntl(fd, F_SETOWN, getpid()) == 1) || | ||
| 256 | ((value = fcntl(fd, F_GETFL)) == 1) || | ||
| 257 | (fcntl(fd, F_SETFL, value | O_ASYNC) == 1)) { | ||
| 258 | fprintf(stderr, "hpet_fasync: fcntl failed\n"); | ||
| 259 | goto out; | ||
| 260 | } | ||
| 261 | |||
| 262 | freq = atoi(argv[1]); | ||
| 263 | iterations = atoi(argv[2]); | ||
| 264 | |||
| 265 | if (ioctl(fd, HPET_IRQFREQ, freq) < 0) { | ||
| 266 | fprintf(stderr, "hpet_fasync: HPET_IRQFREQ failed\n"); | ||
| 267 | goto out; | ||
| 268 | } | ||
| 269 | |||
| 270 | if (ioctl(fd, HPET_INFO, &info) < 0) { | ||
| 271 | fprintf(stderr, "hpet_fasync: failed to get info\n"); | ||
| 272 | goto out; | ||
| 273 | } | ||
| 274 | |||
| 275 | fprintf(stderr, "hpet_fasync: info.hi_flags 0x%lx\n", info.hi_flags); | ||
| 276 | |||
| 277 | if (info.hi_flags && (ioctl(fd, HPET_EPI, 0) < 0)) { | ||
| 278 | fprintf(stderr, "hpet_fasync: HPET_EPI failed\n"); | ||
| 279 | goto out; | ||
| 280 | } | ||
| 281 | |||
| 282 | if (ioctl(fd, HPET_IE_ON, 0) < 0) { | ||
| 283 | fprintf(stderr, "hpet_fasync, HPET_IE_ON failed\n"); | ||
| 284 | goto out; | ||
| 285 | } | ||
| 286 | |||
| 287 | for (i = 0; i < iterations; i++) { | ||
| 288 | (void) pause(); | ||
| 289 | fprintf(stderr, "hpet_fasync: count = %d\n", hpet_sigio_count); | ||
| 290 | } | ||
| 291 | |||
| 292 | out: | ||
| 293 | signal(SIGIO, oldsig); | ||
| 294 | |||
| 295 | if (fd >= 0) | ||
| 296 | close(fd); | ||
| 297 | |||
| 298 | return; | ||
| 299 | } | ||
| @@ -0,0 +1,269 @@ | |||
| 1 | #include <stdio.h> | ||
| 2 | #include <stdlib.h> | ||
| 3 | #include <unistd.h> | ||
| 4 | #include <fcntl.h> | ||
| 5 | #include <string.h> | ||
| 6 | #include <memory.h> | ||
| 7 | #include <malloc.h> | ||
| 8 | #include <time.h> | ||
| 9 | #include <ctype.h> | ||
| 10 | #include <sys/types.h> | ||
| 11 | #include <sys/wait.h> | ||
| 12 | #include <signal.h> | ||
| 13 | #include <fcntl.h> | ||
| 14 | #include <errno.h> | ||
| 15 | #include <sys/time.h> | ||
| 16 | #include <linux/hpet.h> | ||
| 17 | |||
| 18 | |||
| 19 | extern void hpet_open_close(int, const char **); | ||
| 20 | extern void hpet_info(int, const char **); | ||
| 21 | extern void hpet_poll(int, const char **); | ||
| 22 | extern void hpet_fasync(int, const char **); | ||
| 23 | extern void hpet_read(int, const char **); | ||
| 24 | |||
| 25 | #include <sys/poll.h> | ||
| 26 | #include <sys/ioctl.h> | ||
| 27 | #include <signal.h> | ||
| 28 | |||
| 29 | struct hpet_command { | ||
| 30 | char *command; | ||
| 31 | void (*func)(int argc, const char ** argv); | ||
| 32 | } hpet_command[] = { | ||
| 33 | { | ||
| 34 | "open-close", | ||
| 35 | hpet_open_close | ||
| 36 | }, | ||
| 37 | { | ||
| 38 | "info", | ||
| 39 | hpet_info | ||
| 40 | }, | ||
| 41 | { | ||
| 42 | "poll", | ||
| 43 | hpet_poll | ||
| 44 | }, | ||
| 45 | { | ||
| 46 | "fasync", | ||
| 47 | hpet_fasync | ||
| 48 | }, | ||
| 49 | }; | ||
| 50 | |||
| 51 | int | ||
| 52 | main(int argc, const char ** argv) | ||
| 53 | { | ||
| 54 | int i; | ||
| 55 | |||
| 56 | argc--; | ||
| 57 | argv++; | ||
| 58 | |||
| 59 | if (!argc) { | ||
| 60 | fprintf(stderr, "-hpet: requires command\n"); | ||
| 61 | return -1; | ||
| 62 | } | ||
| 63 | |||
| 64 | |||
| 65 | for (i = 0; i < (sizeof (hpet_command) / sizeof (hpet_command[0])); i++) | ||
| 66 | if (!strcmp(argv[0], hpet_command[i].command)) { | ||
| 67 | argc--; | ||
| 68 | argv++; | ||
| 69 | fprintf(stderr, "-hpet: executing %s\n", | ||
| 70 | hpet_command[i].command); | ||
| 71 | hpet_command[i].func(argc, argv); | ||
| 72 | return 0; | ||
| 73 | } | ||
| 74 | |||
| 75 | fprintf(stderr, "do_hpet: command %s not implemented\n", argv[0]); | ||
| 76 | |||
| 77 | return -1; | ||
| 78 | } | ||
| 79 | |||
| 80 | void | ||
| 81 | hpet_open_close(int argc, const char **argv) | ||
| 82 | { | ||
| 83 | int fd; | ||
| 84 | |||
| 85 | if (argc != 1) { | ||
| 86 | fprintf(stderr, "hpet_open_close: device-name\n"); | ||
| 87 | return; | ||
| 88 | } | ||
| 89 | |||
| 90 | fd = open(argv[0], O_RDONLY); | ||
| 91 | if (fd < 0) | ||
| 92 | fprintf(stderr, "hpet_open_close: open failed\n"); | ||
| 93 | else | ||
| 94 | close(fd); | ||
| 95 | |||
| 96 | return; | ||
| 97 | } | ||
| 98 | |||
| 99 | void | ||
| 100 | hpet_info(int argc, const char **argv) | ||
| 101 | { | ||
| 102 | } | ||
| 103 | |||
| 104 | void | ||
| 105 | hpet_poll(int argc, const char **argv) | ||
| 106 | { | ||
| 107 | unsigned long freq; | ||
| 108 | int iterations, i, fd; | ||
| 109 | struct pollfd pfd; | ||
| 110 | struct hpet_info info; | ||
| 111 | struct timeval stv, etv; | ||
| 112 | struct timezone tz; | ||
| 113 | long usec; | ||
| 114 | |||
| 115 | if (argc != 3) { | ||
| 116 | fprintf(stderr, "hpet_poll: device-name freq iterations\n"); | ||
| 117 | return; | ||
| 118 | } | ||
| 119 | |||
| 120 | freq = atoi(argv[1]); | ||
| 121 | iterations = atoi(argv[2]); | ||
| 122 | |||
| 123 | fd = open(argv[0], O_RDONLY); | ||
| 124 | |||
| 125 | if (fd < 0) { | ||
| 126 | fprintf(stderr, "hpet_poll: open of %s failed\n", argv[0]); | ||
| 127 | return; | ||
| 128 | } | ||
| 129 | |||
| 130 | if (ioctl(fd, HPET_IRQFREQ, freq) < 0) { | ||
| 131 | fprintf(stderr, "hpet_poll: HPET_IRQFREQ failed\n"); | ||
| 132 | goto out; | ||
| 133 | } | ||
| 134 | |||
| 135 | if (ioctl(fd, HPET_INFO, &info) < 0) { | ||
| 136 | fprintf(stderr, "hpet_poll: failed to get info\n"); | ||
| 137 | goto out; | ||
| 138 | } | ||
| 139 | |||
| 140 | fprintf(stderr, "hpet_poll: info.hi_flags 0x%lx\n", info.hi_flags); | ||
| 141 | |||
| 142 | if (info.hi_flags && (ioctl(fd, HPET_EPI, 0) < 0)) { | ||
| 143 | fprintf(stderr, "hpet_poll: HPET_EPI failed\n"); | ||
| 144 | goto out; | ||
| 145 | } | ||
| 146 | |||
| 147 | if (ioctl(fd, HPET_IE_ON, 0) < 0) { | ||
| 148 | fprintf(stderr, "hpet_poll, HPET_IE_ON failed\n"); | ||
| 149 | goto out; | ||
| 150 | } | ||
| 151 | |||
| 152 | pfd.fd = fd; | ||
| 153 | pfd.events = POLLIN; | ||
| 154 | |||
| 155 | for (i = 0; i < iterations; i++) { | ||
| 156 | pfd.revents = 0; | ||
| 157 | gettimeofday(&stv, &tz); | ||
| 158 | if (poll(&pfd, 1, -1) < 0) | ||
| 159 | fprintf(stderr, "hpet_poll: poll failed\n"); | ||
| 160 | else { | ||
| 161 | long data; | ||
| 162 | |||
| 163 | gettimeofday(&etv, &tz); | ||
| 164 | usec = stv.tv_sec * 1000000 + stv.tv_usec; | ||
| 165 | usec = (etv.tv_sec * 1000000 + etv.tv_usec) - usec; | ||
| 166 | |||
| 167 | fprintf(stderr, | ||
| 168 | "hpet_poll: expired time = 0x%lx\n", usec); | ||
| 169 | |||
| 170 | fprintf(stderr, "hpet_poll: revents = 0x%x\n", | ||
| 171 | pfd.revents); | ||
| 172 | |||
| 173 | if (read(fd, &data, sizeof(data)) != sizeof(data)) { | ||
| 174 | fprintf(stderr, "hpet_poll: read failed\n"); | ||
| 175 | } | ||
| 176 | else | ||
| 177 | fprintf(stderr, "hpet_poll: data 0x%lx\n", | ||
| 178 | data); | ||
| 179 | } | ||
| 180 | } | ||
| 181 | |||
| 182 | out: | ||
| 183 | close(fd); | ||
| 184 | return; | ||
| 185 | } | ||
| 186 | |||
| 187 | static int hpet_sigio_count; | ||
| 188 | |||
| 189 | static void | ||
| 190 | hpet_sigio(int val) | ||
| 191 | { | ||
| 192 | fprintf(stderr, "hpet_sigio: called\n"); | ||
| 193 | hpet_sigio_count++; | ||
| 194 | } | ||
| 195 | |||
| 196 | void | ||
| 197 | hpet_fasync(int argc, const char **argv) | ||
| 198 | { | ||
| 199 | unsigned long freq; | ||
| 200 | int iterations, i, fd, value; | ||
| 201 | sig_t oldsig; | ||
| 202 | struct hpet_info info; | ||
| 203 | |||
| 204 | hpet_sigio_count = 0; | ||
| 205 | fd = -1; | ||
| 206 | |||
| 207 | if ((oldsig = signal(SIGIO, hpet_sigio)) == SIG_ERR) { | ||
| 208 | fprintf(stderr, "hpet_fasync: failed to set signal handler\n"); | ||
| 209 | return; | ||
| 210 | } | ||
| 211 | |||
| 212 | if (argc != 3) { | ||
| 213 | fprintf(stderr, "hpet_fasync: device-name freq iterations\n"); | ||
| 214 | goto out; | ||
| 215 | } | ||
| 216 | |||
| 217 | fd = open(argv[0], O_RDONLY); | ||
| 218 | |||
| 219 | if (fd < 0) { | ||
| 220 | fprintf(stderr, "hpet_fasync: failed to open %s\n", argv[0]); | ||
| 221 | return; | ||
| 222 | } | ||
| 223 | |||
| 224 | |||
| 225 | if ((fcntl(fd, F_SETOWN, getpid()) == 1) || | ||
| 226 | ((value = fcntl(fd, F_GETFL)) == 1) || | ||
| 227 | (fcntl(fd, F_SETFL, value | O_ASYNC) == 1)) { | ||
| 228 | fprintf(stderr, "hpet_fasync: fcntl failed\n"); | ||
| 229 | goto out; | ||
| 230 | } | ||
| 231 | |||
| 232 | freq = atoi(argv[1]); | ||
| 233 | iterations = atoi(argv[2]); | ||
| 234 | |||
| 235 | if (ioctl(fd, HPET_IRQFREQ, freq) < 0) { | ||
| 236 | fprintf(stderr, "hpet_fasync: HPET_IRQFREQ failed\n"); | ||
| 237 | goto out; | ||
| 238 | } | ||
| 239 | |||
| 240 | if (ioctl(fd, HPET_INFO, &info) < 0) { | ||
| 241 | fprintf(stderr, "hpet_fasync: failed to get info\n"); | ||
| 242 | goto out; | ||
| 243 | } | ||
| 244 | |||
| 245 | fprintf(stderr, "hpet_fasync: info.hi_flags 0x%lx\n", info.hi_flags); | ||
| 246 | |||
| 247 | if (info.hi_flags && (ioctl(fd, HPET_EPI, 0) < 0)) { | ||
| 248 | fprintf(stderr, "hpet_fasync: HPET_EPI failed\n"); | ||
| 249 | goto out; | ||
| 250 | } | ||
| 251 | |||
| 252 | if (ioctl(fd, HPET_IE_ON, 0) < 0) { | ||
| 253 | fprintf(stderr, "hpet_fasync, HPET_IE_ON failed\n"); | ||
| 254 | goto out; | ||
| 255 | } | ||
| 256 | |||
| 257 | for (i = 0; i < iterations; i++) { | ||
| 258 | (void) pause(); | ||
| 259 | fprintf(stderr, "hpet_fasync: count = %d\n", hpet_sigio_count); | ||
| 260 | } | ||
| 261 | |||
| 262 | out: | ||
| 263 | signal(SIGIO, oldsig); | ||
| 264 | |||
| 265 | if (fd >= 0) | ||
| 266 | close(fd); | ||
| 267 | |||
| 268 | return; | ||
| 269 | } | ||
| @@ -1588,7 +1588,7 @@ module author does not need to worry about it. · 1587 unmodified lines | |||
| 1588 | 1588 | ||
| 1589 | When tracing is enabled, kstop_machine is called to prevent | 1589 | When tracing is enabled, kstop_machine is called to prevent |
| 1590 | races with the CPUS executing code being modified (which can | 1590 | races with the CPUS executing code being modified (which can |
| 1591 | cause the CPU to do undesireable things), and the nops are | 1591 | cause the CPU to do undesirable things), and the nops are |
| 1592 | patched back to calls. But this time, they do not call mcount | 1592 | patched back to calls. But this time, they do not call mcount |
| 1593 | (which is just a function stub). They now call into the ftrace | 1593 | (which is just a function stub). They now call into the ftrace |
| 1594 | infrastructure. | 1594 | infrastructure. |
| @@ -4,23 +4,35 @@ active_mm.txt · 3 unmodified lines | |||
| 4 | - An explanation from Linus about tsk->active_mm vs tsk->mm. | 4 | - An explanation from Linus about tsk->active_mm vs tsk->mm. |
| 5 | balance | 5 | balance |
| 6 | - various information on memory balancing. | 6 | - various information on memory balancing. |
| 7 | hugepage-mmap.c | ||
| 8 | - Example app using huge page memory with the mmap system call. | ||
| 9 | hugepage-shm.c | ||
| 10 | - Example app using huge page memory with Sys V shared memory system calls. | ||
| 7 | hugetlbpage.txt | 11 | hugetlbpage.txt |
| 8 | - a brief summary of hugetlbpage support in the Linux kernel. | 12 | - a brief summary of hugetlbpage support in the Linux kernel. |
| 13 | hwpoison.txt | ||
| 14 | - explains what hwpoison is | ||
| 9 | ksm.txt | 15 | ksm.txt |
| 10 | - how to use the Kernel Samepage Merging feature. | 16 | - how to use the Kernel Samepage Merging feature. |
| 11 | locking | 17 | locking |
| 12 | - info on how locking and synchronization is done in the Linux vm code. | 18 | - info on how locking and synchronization is done in the Linux vm code. |
| 19 | map_hugetlb.c | ||
| 20 | - an example program that uses the MAP_HUGETLB mmap flag. | ||
| 13 | numa | 21 | numa |
| 14 | - information about NUMA specific code in the Linux vm. | 22 | - information about NUMA specific code in the Linux vm. |
| 15 | numa_memory_policy.txt | 23 | numa_memory_policy.txt |
| 16 | - documentation of concepts and APIs of the 2.6 memory policy support. | 24 | - documentation of concepts and APIs of the 2.6 memory policy support. |
| 17 | overcommit-accounting | 25 | overcommit-accounting |
| 18 | - description of the Linux kernels overcommit handling modes. | 26 | - description of the Linux kernels overcommit handling modes. |
| 27 | page-types.c | ||
| 28 | - Tool for querying page flags | ||
| 19 | page_migration | 29 | page_migration |
| 20 | - description of page migration in NUMA systems. | 30 | - description of page migration in NUMA systems. |
| 31 | pagemap.txt | ||
| 32 | - pagemap, from the userspace perspective | ||
| 21 | slabinfo.c | 33 | slabinfo.c |
| 22 | - source code for a tool to get reports about slabs. | 34 | - source code for a tool to get reports about slabs. |
| 23 | slub.txt | 35 | slub.txt |
| 24 | - a short users guide for SLUB. | 36 | - a short users guide for SLUB. |
| 25 | map_hugetlb.c | 37 | unevictable-lru.txt |
| 26 | - an example program that uses the MAP_HUGETLB mmap flag. | 38 | - Unevictable LRU infrastructure |
| @@ -2,7 +2,7 @@ · 1 unmodified line | |||
| 2 | obj- := dummy.o | 2 | obj- := dummy.o |
| 3 | 3 | ||
| 4 | # List of programs to build | 4 | # List of programs to build |
| 5 | hostprogs-y := slabinfo page-types | 5 | hostprogs-y := slabinfo page-types hugepage-mmap hugepage-shm map_hugetlb |
| 6 | 6 | ||
| 7 | # Tell kbuild to always build the programs | 7 | # Tell kbuild to always build the programs |
| 8 | always := $(hostprogs-y) | 8 | always := $(hostprogs-y) |
| @@ -0,0 +1,91 @@ | |||
| 1 | /* | ||
| 2 | * hugepage-mmap: | ||
| 3 | * | ||
| 4 | * Example of using huge page memory in a user application using the mmap | ||
| 5 | * system call. Before running this application, make sure that the | ||
| 6 | * administrator has mounted the hugetlbfs filesystem (on some directory | ||
| 7 | * like /mnt) using the command mount -t hugetlbfs nodev /mnt. In this | ||
| 8 | * example, the app is requesting memory of size 256MB that is backed by | ||
| 9 | * huge pages. | ||
| 10 | * | ||
| 11 | * For the ia64 architecture, the Linux kernel reserves Region number 4 for | ||
| 12 | * huge pages. That means that if one requires a fixed address, a huge page | ||
| 13 | * aligned address starting with 0x800000... will be required. If a fixed | ||
| 14 | * address is not required, the kernel will select an address in the proper | ||
| 15 | * range. | ||
| 16 | * Other architectures, such as ppc64, i386 or x86_64 are not so constrained. | ||
| 17 | */ | ||
| 18 | |||
| 19 | #include <stdlib.h> | ||
| 20 | #include <stdio.h> | ||
| 21 | #include <unistd.h> | ||
| 22 | #include <sys/mman.h> | ||
| 23 | #include <fcntl.h> | ||
| 24 | |||
| 25 | #define FILE_NAME "/mnt/hugepagefile" | ||
| 26 | #define LENGTH (256UL*1024*1024) | ||
| 27 | #define PROTECTION (PROT_READ | PROT_WRITE) | ||
| 28 | |||
| 29 | /* Only ia64 requires this */ | ||
| 30 | #ifdef __ia64__ | ||
| 31 | #define ADDR (void *)(0x8000000000000000UL) | ||
| 32 | #define FLAGS (MAP_SHARED | MAP_FIXED) | ||
| 33 | #else | ||
| 34 | #define ADDR (void *)(0x0UL) | ||
| 35 | #define FLAGS (MAP_SHARED) | ||
| 36 | #endif | ||
| 37 | |||
| 38 | static void check_bytes(char *addr) | ||
| 39 | { | ||
| 40 | printf("First hex is %x\n", *((unsigned int *)addr)); | ||
| 41 | } | ||
| 42 | |||
| 43 | static void write_bytes(char *addr) | ||
| 44 | { | ||
| 45 | unsigned long i; | ||
| 46 | |||
| 47 | for (i = 0; i < LENGTH; i++) | ||
| 48 | *(addr + i) = (char)i; | ||
| 49 | } | ||
| 50 | |||
| 51 | static void read_bytes(char *addr) | ||
| 52 | { | ||
| 53 | unsigned long i; | ||
| 54 | |||
| 55 | check_bytes(addr); | ||
| 56 | for (i = 0; i < LENGTH; i++) | ||
| 57 | if (*(addr + i) != (char)i) { | ||
| 58 | printf("Mismatch at %lu\n", i); | ||
| 59 | break; | ||
| 60 | } | ||
| 61 | } | ||
| 62 | |||
| 63 | int main(void) | ||
| 64 | { | ||
| 65 | void *addr; | ||
| 66 | int fd; | ||
| 67 | |||
| 68 | fd = open(FILE_NAME, O_CREAT | O_RDWR, 0755); | ||
| 69 | if (fd < 0) { | ||
| 70 | perror("Open failed"); | ||
| 71 | exit(1); | ||
| 72 | } | ||
| 73 | |||
| 74 | addr = mmap(ADDR, LENGTH, PROTECTION, FLAGS, fd, 0); | ||
| 75 | if (addr == MAP_FAILED) { | ||
| 76 | perror("mmap"); | ||
| 77 | unlink(FILE_NAME); | ||
| 78 | exit(1); | ||
| 79 | } | ||
| 80 | |||
| 81 | printf("Returned address is %p\n", addr); | ||
| 82 | check_bytes(addr); | ||
| 83 | write_bytes(addr); | ||
| 84 | read_bytes(addr); | ||
| 85 | |||
| 86 | munmap(addr, LENGTH); | ||
| 87 | close(fd); | ||
| 88 | unlink(FILE_NAME); | ||
| 89 | |||
| 90 | return 0; | ||
| 91 | } | ||
| @@ -0,0 +1,98 @@ | |||
| 1 | /* | ||
| 2 | * hugepage-shm: | ||
| 3 | * | ||
| 4 | * Example of using huge page memory in a user application using Sys V shared | ||
| 5 | * memory system calls. In this example the app is requesting 256MB of | ||
| 6 | * memory that is backed by huge pages. The application uses the flag | ||
| 7 | * SHM_HUGETLB in the shmget system call to inform the kernel that it is | ||
| 8 | * requesting huge pages. | ||
| 9 | * | ||
| 10 | * For the ia64 architecture, the Linux kernel reserves Region number 4 for | ||
| 11 | * huge pages. That means that if one requires a fixed address, a huge page | ||
| 12 | * aligned address starting with 0x800000... will be required. If a fixed | ||
| 13 | * address is not required, the kernel will select an address in the proper | ||
| 14 | * range. | ||
| 15 | * Other architectures, such as ppc64, i386 or x86_64 are not so constrained. | ||
| 16 | * | ||
| 17 | * Note: The default shared memory limit is quite low on many kernels, | ||
| 18 | * you may need to increase it via: | ||
| 19 | * | ||
| 20 | * echo 268435456 > /proc/sys/kernel/shmmax | ||
| 21 | * | ||
| 22 | * This will increase the maximum size per shared memory segment to 256MB. | ||
| 23 | * The other limit that you will hit eventually is shmall which is the | ||
| 24 | * total amount of shared memory in pages. To set it to 16GB on a system | ||
| 25 | * with a 4kB pagesize do: | ||
| 26 | * | ||
| 27 | * echo 4194304 > /proc/sys/kernel/shmall | ||
| 28 | */ | ||
| 29 | |||
| 30 | #include <stdlib.h> | ||
| 31 | #include <stdio.h> | ||
| 32 | #include <sys/types.h> | ||
| 33 | #include <sys/ipc.h> | ||
| 34 | #include <sys/shm.h> | ||
| 35 | #include <sys/mman.h> | ||
| 36 | |||
| 37 | #ifndef SHM_HUGETLB | ||
| 38 | #define SHM_HUGETLB 04000 | ||
| 39 | #endif | ||
| 40 | |||
| 41 | #define LENGTH (256UL*1024*1024) | ||
| 42 | |||
| 43 | #define dprintf(x) printf(x) | ||
| 44 | |||
| 45 | /* Only ia64 requires this */ | ||
| 46 | #ifdef __ia64__ | ||
| 47 | #define ADDR (void *)(0x8000000000000000UL) | ||
| 48 | #define SHMAT_FLAGS (SHM_RND) | ||
| 49 | #else | ||
| 50 | #define ADDR (void *)(0x0UL) | ||
| 51 | #define SHMAT_FLAGS (0) | ||
| 52 | #endif | ||
| 53 | |||
| 54 | int main(void) | ||
| 55 | { | ||
| 56 | int shmid; | ||
| 57 | unsigned long i; | ||
| 58 | char *shmaddr; | ||
| 59 | |||
| 60 | if ((shmid = shmget(2, LENGTH, | ||
| 61 | SHM_HUGETLB | IPC_CREAT | SHM_R | SHM_W)) < 0) { | ||
| 62 | perror("shmget"); | ||
| 63 | exit(1); | ||
| 64 | } | ||
| 65 | printf("shmid: 0x%x\n", shmid); | ||
| 66 | |||
| 67 | shmaddr = shmat(shmid, ADDR, SHMAT_FLAGS); | ||
| 68 | if (shmaddr == (char *)-1) { | ||
| 69 | perror("Shared memory attach failure"); | ||
| 70 | shmctl(shmid, IPC_RMID, NULL); | ||
| 71 | exit(2); | ||
| 72 | } | ||
| 73 | printf("shmaddr: %p\n", shmaddr); | ||
| 74 | |||
| 75 | dprintf("Starting the writes:\n"); | ||
| 76 | for (i = 0; i < LENGTH; i++) { | ||
| 77 | shmaddr[i] = (char)(i); | ||
| 78 | if (!(i % (1024 * 1024))) | ||
| 79 | dprintf("."); | ||
| 80 | } | ||
| 81 | dprintf("\n"); | ||
| 82 | |||
| 83 | dprintf("Starting the Check..."); | ||
| 84 | for (i = 0; i < LENGTH; i++) | ||
| 85 | if (shmaddr[i] != (char)i) | ||
| 86 | printf("\nIndex %lu mismatched\n", i); | ||
| 87 | dprintf("Done.\n"); | ||
| 88 | |||
| 89 | if (shmdt((const void *)shmaddr) != 0) { | ||
| 90 | perror("Detach failure"); | ||
| 91 | shmctl(shmid, IPC_RMID, NULL); | ||
| 92 | exit(3); | ||
| 93 | } | ||
| 94 | |||
| 95 | shmctl(shmid, IPC_RMID, NULL); | ||
| 96 | |||
| 97 | return 0; | ||
| 98 | } | ||
| @@ -299,176 +299,11 @@ map_hugetlb.c. · 298 unmodified lines | |||
| 299 | ******************************************************************* | 299 | ******************************************************************* |
| 300 | 300 | ||
| 301 | /* | 301 | /* |
| 302 | * Example of using huge page memory in a user application using Sys V shared | 302 | * hugepage-shm: see Documentation/vm/hugepage-shm.c |
| 303 | * memory system calls. In this example the app is requesting 256MB of | ||
| 304 | * memory that is backed by huge pages. The application uses the flag | ||
| 305 | * SHM_HUGETLB in the shmget system call to inform the kernel that it is | ||
| 306 | * requesting huge pages. | ||
| 307 | * | ||
| 308 | * For the ia64 architecture, the Linux kernel reserves Region number 4 for | ||
| 309 | * huge pages. That means that if one requires a fixed address, a huge page | ||
| 310 | * aligned address starting with 0x800000... will be required. If a fixed | ||
| 311 | * address is not required, the kernel will select an address in the proper | ||
| 312 | * range. | ||
| 313 | * Other architectures, such as ppc64, i386 or x86_64 are not so constrained. | ||
| 314 | * | ||
| 315 | * Note: The default shared memory limit is quite low on many kernels, | ||
| 316 | * you may need to increase it via: | ||
| 317 | * | ||
| 318 | * echo 268435456 > /proc/sys/kernel/shmmax | ||
| 319 | * | ||
| 320 | * This will increase the maximum size per shared memory segment to 256MB. | ||
| 321 | * The other limit that you will hit eventually is shmall which is the | ||
| 322 | * total amount of shared memory in pages. To set it to 16GB on a system | ||
| 323 | * with a 4kB pagesize do: | ||
| 324 | * | ||
| 325 | * echo 4194304 > /proc/sys/kernel/shmall | ||
| 326 | */ | 303 | */ |
| 327 | #include <stdlib.h> | ||
| 328 | #include <stdio.h> | ||
| 329 | #include <sys/types.h> | ||
| 330 | #include <sys/ipc.h> | ||
| 331 | #include <sys/shm.h> | ||
| 332 | #include <sys/mman.h> | ||
| 333 | |||
| 334 | #ifndef SHM_HUGETLB | ||
| 335 | #define SHM_HUGETLB 04000 | ||
| 336 | #endif | ||
| 337 | |||
| 338 | #define LENGTH (256UL*1024*1024) | ||
| 339 | |||
| 340 | #define dprintf(x) printf(x) | ||
| 341 | |||
| 342 | #define ADDR (void *)(0x0UL) /* let kernel choose address */ | ||
| 343 | #define SHMAT_FLAGS (0) | ||
| 344 | |||
| 345 | int main(void) | ||
| 346 | { | ||
| 347 | int shmid; | ||
| 348 | unsigned long i; | ||
| 349 | char *shmaddr; | ||
| 350 | |||
| 351 | if ((shmid = shmget(2, LENGTH, | ||
| 352 | SHM_HUGETLB | IPC_CREAT | SHM_R | SHM_W)) < 0) { | ||
| 353 | perror("shmget"); | ||
| 354 | exit(1); | ||
| 355 | } | ||
| 356 | printf("shmid: 0x%x\n", shmid); | ||
| 357 | |||
| 358 | shmaddr = shmat(shmid, ADDR, SHMAT_FLAGS); | ||
| 359 | if (shmaddr == (char *)-1) { | ||
| 360 | perror("Shared memory attach failure"); | ||
| 361 | shmctl(shmid, IPC_RMID, NULL); | ||
| 362 | exit(2); | ||
| 363 | } | ||
| 364 | printf("shmaddr: %p\n", shmaddr); | ||
| 365 | |||
| 366 | dprintf("Starting the writes:\n"); | ||
| 367 | for (i = 0; i < LENGTH; i++) { | ||
| 368 | shmaddr[i] = (char)(i); | ||
| 369 | if (!(i % (1024 * 1024))) | ||
| 370 | dprintf("."); | ||
| 371 | } | ||
| 372 | dprintf("\n"); | ||
| 373 | |||
| 374 | dprintf("Starting the Check..."); | ||
| 375 | for (i = 0; i < LENGTH; i++) | ||
| 376 | if (shmaddr[i] != (char)i) | ||
| 377 | printf("\nIndex %lu mismatched\n", i); | ||
| 378 | dprintf("Done.\n"); | ||
| 379 | |||
| 380 | if (shmdt((const void *)shmaddr) != 0) { | ||
| 381 | perror("Detach failure"); | ||
| 382 | shmctl(shmid, IPC_RMID, NULL); | ||
| 383 | exit(3); | ||
| 384 | } | ||
| 385 | |||
| 386 | shmctl(shmid, IPC_RMID, NULL); | ||
| 387 | |||
| 388 | return 0; | ||
| 389 | } | ||
| 390 | 304 | ||
| 391 | ******************************************************************* | 305 | ******************************************************************* |
| 392 | 306 | ||
| 393 | /* | 307 | /* |
| 394 | * Example of using huge page memory in a user application using the mmap | 308 | * hugepage-mmap: see Documentation/vm/hugepage-mmap.c |
| 395 | * system call. Before running this application, make sure that the | ||
| 396 | * administrator has mounted the hugetlbfs filesystem (on some directory | ||
| 397 | * like /mnt) using the command mount -t hugetlbfs nodev /mnt. In this | ||
| 398 | * example, the app is requesting memory of size 256MB that is backed by | ||
| 399 | * huge pages. | ||
| 400 | * | ||
| 401 | * For the ia64 architecture, the Linux kernel reserves Region number 4 for | ||
| 402 | * huge pages. That means that if one requires a fixed address, a huge page | ||
| 403 | * aligned address starting with 0x800000... will be required. If a fixed | ||
| 404 | * address is not required, the kernel will select an address in the proper | ||
| 405 | * range. | ||
| 406 | * Other architectures, such as ppc64, i386 or x86_64 are not so constrained. | ||
| 407 | */ | 309 | */ |
| 408 | #include <stdlib.h> | ||
| 409 | #include <stdio.h> | ||
| 410 | #include <unistd.h> | ||
| 411 | #include <sys/mman.h> | ||
| 412 | #include <fcntl.h> | ||
| 413 | |||
| 414 | #define FILE_NAME "/mnt/hugepagefile" | ||
| 415 | #define LENGTH (256UL*1024*1024) | ||
| 416 | #define PROTECTION (PROT_READ | PROT_WRITE) | ||
| 417 | |||
| 418 | #define ADDR (void *)(0x0UL) /* let kernel choose address */ | ||
| 419 | #define FLAGS (MAP_SHARED) | ||
| 420 | |||
| 421 | void check_bytes(char *addr) | ||
| 422 | { | ||
| 423 | printf("First hex is %x\n", *((unsigned int *)addr)); | ||
| 424 | } | ||
| 425 | |||
| 426 | void write_bytes(char *addr) | ||
| 427 | { | ||
| 428 | unsigned long i; | ||
| 429 | |||
| 430 | for (i = 0; i < LENGTH; i++) | ||
| 431 | *(addr + i) = (char)i; | ||
| 432 | } | ||
| 433 | |||
| 434 | void read_bytes(char *addr) | ||
| 435 | { | ||
| 436 | unsigned long i; | ||
| 437 | |||
| 438 | check_bytes(addr); | ||
| 439 | for (i = 0; i < LENGTH; i++) | ||
| 440 | if (*(addr + i) != (char)i) { | ||
| 441 | printf("Mismatch at %lu\n", i); | ||
| 442 | break; | ||
| 443 | } | ||
| 444 | } | ||
| 445 | |||
| 446 | int main(void) | ||
| 447 | { | ||
| 448 | void *addr; | ||
| 449 | int fd; | ||
| 450 | |||
| 451 | fd = open(FILE_NAME, O_CREAT | O_RDWR, 0755); | ||
| 452 | if (fd < 0) { | ||
| 453 | perror("Open failed"); | ||
| 454 | exit(1); | ||
| 455 | } | ||
| 456 | |||
| 457 | addr = mmap(ADDR, LENGTH, PROTECTION, FLAGS, fd, 0); | ||
| 458 | if (addr == MAP_FAILED) { | ||
| 459 | perror("mmap"); | ||
| 460 | unlink(FILE_NAME); | ||
| 461 | exit(1); | ||
| 462 | } | ||
| 463 | |||
| 464 | printf("Returned address is %p\n", addr); | ||
| 465 | check_bytes(addr); | ||
| 466 | write_bytes(addr); | ||
| 467 | read_bytes(addr); | ||
| 468 | |||
| 469 | munmap(addr, LENGTH); | ||
| 470 | close(fd); | ||
| 471 | unlink(FILE_NAME); | ||
| 472 | |||
| 473 | return 0; | ||
| 474 | } | ||
| @@ -31,12 +31,12 @@ · 30 unmodified lines | |||
| 31 | #define FLAGS (MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB) | 31 | #define FLAGS (MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB) |
| 32 | #endif | 32 | #endif |
| 33 | 33 | ||
| 34 | void check_bytes(char *addr) | 34 | static void check_bytes(char *addr) |
| 35 | { | 35 | { |
| 36 | printf("First hex is %x\n", *((unsigned int *)addr)); | 36 | printf("First hex is %x\n", *((unsigned int *)addr)); |
| 37 | } | 37 | } |
| 38 | 38 | ||
| 39 | void write_bytes(char *addr) | 39 | static void write_bytes(char *addr) |
| 40 | { | 40 | { |
| 41 | unsigned long i; | 41 | unsigned long i; |
| 42 | 42 | ||
| @@ -44,7 +44,7 @@ void write_bytes(char *addr) · 1 unmodified line | |||
| 44 | *(addr + i) = (char)i; | 44 | *(addr + i) = (char)i; |
| 45 | } | 45 | } |
| 46 | 46 | ||
| 47 | void read_bytes(char *addr) | 47 | static void read_bytes(char *addr) |
| 48 | { | 48 | { |
| 49 | unsigned long i; | 49 | unsigned long i; |
| 50 | 50 | ||
| @@ -41,6 +41,7 @@ Possible debug options are · 40 unmodified lines | |||
| 41 | P Poisoning (object and padding) | 41 | P Poisoning (object and padding) |
| 42 | U User tracking (free and alloc) | 42 | U User tracking (free and alloc) |
| 43 | T Trace (please only use on single slabs) | 43 | T Trace (please only use on single slabs) |
| 44 | A Toggle failslab filter mark for the cache | ||
| 44 | O Switch debugging off for caches that would have | 45 | O Switch debugging off for caches that would have |
| 45 | caused higher minimum slab orders | 46 | caused higher minimum slab orders |
| 46 | - Switch all debugging off (useful if the kernel is | 47 | - Switch all debugging off (useful if the kernel is |
| @@ -63,9 +63,9 @@ way to perform a busy wait is: · 62 unmodified lines | |||
| 63 | cpu_relax(); | 63 | cpu_relax(); |
| 64 | 64 | ||
| 65 | The cpu_relax() call can lower CPU power consumption or yield to a | 65 | The cpu_relax() call can lower CPU power consumption or yield to a |
| 66 | hyperthreaded twin processor; it also happens to serve as a memory barrier, | 66 | hyperthreaded twin processor; it also happens to serve as a compiler |
| 67 | so, once again, volatile is unnecessary. Of course, busy-waiting is | 67 | barrier, so, once again, volatile is unnecessary. Of course, busy- |
| 68 | generally an anti-social act to begin with. | 68 | waiting is generally an anti-social act to begin with. |
| 69 | 69 | ||
| 70 | There are still a few rare situations where volatile makes sense in the | 70 | There are still a few rare situations where volatile makes sense in the |
| 71 | kernel: | 71 | kernel: |
| @@ -1,95 +0,0 @@ | |||
| 1 | Running Linux on the Voyager Architecture | ||
| 2 | ========================================= | ||
| 3 | |||
| 4 | For full details and current project status, see | ||
| 5 | |||
| 6 | http://www.hansenpartnership.com/voyager | ||
| 7 | |||
| 8 | The voyager architecture was designed by NCR in the mid 80s to be a | ||
| 9 | fully SMP capable RAS computing architecture built around intel's 486 | ||
| 10 | chip set. The voyager came in three levels of architectural | ||
| 11 | sophistication: 3,4 and 5 --- 1 and 2 never made it out of prototype. | ||
| 12 | The linux patches support only the Level 5 voyager architecture (any | ||
| 13 | machine class 3435 and above). | ||
| 14 | |||
| 15 | The Voyager Architecture | ||
| 16 | ------------------------ | ||
| 17 | |||
| 18 | Voyager machines consist of a Baseboard with a 386 diagnostic | ||
| 19 | processor, a Power Supply Interface (PSI) a Primary and possibly | ||
| 20 | Secondary Microchannel bus and between 2 and 20 voyager slots. The | ||
| 21 | voyager slots can be populated with memory and cpu cards (up to 4GB | ||
| 22 | memory and from 1 486 to 32 Pentium Pro processors). Internally, the | ||
| 23 | voyager has a dual arbitrated system bus and a configuration and test | ||
| 24 | bus (CAT). The voyager bus speed is 40MHz. Therefore (since all | ||
| 25 | voyager cards are dual ported for each system bus) the maximum | ||
| 26 | transfer rate is 320Mb/s but only if you have your slot configuration | ||
| 27 | tuned (only memory cards can communicate with both busses at once, CPU | ||
| 28 | cards utilise them one at a time). | ||
| 29 | |||
| 30 | Voyager SMP | ||
| 31 | ----------- | ||
| 32 | |||
| 33 | Since voyager was the first intel based SMP system, it is slightly | ||
| 34 | more primitive than the Intel IO-APIC approach to SMP. Voyager allows | ||
| 35 | arbitrary interrupt routing (including processor affinity routing) of | ||
| 36 | all 16 PC type interrupts. However it does this by using a modified | ||
| 37 | 5259 master/slave chip set instead of an APIC bus. Additionally, | ||
| 38 | voyager supports Cross Processor Interrupts (CPI) equivalent to the | ||
| 39 | APIC IPIs. There are two routed voyager interrupt lines provided to | ||
| 40 | each slot. | ||
| 41 | |||
| 42 | Processor Cards | ||
| 43 | --------------- | ||
| 44 | |||
| 45 | These come in single, dyadic and quad configurations (the quads are | ||
| 46 | problematic--see later). The maximum configuration is 8 quad cards | ||
| 47 | for 32 way SMP. | ||
| 48 | |||
| 49 | Quad Processors | ||
| 50 | --------------- | ||
| 51 | |||
| 52 | Because voyager only supplies two interrupt lines to each Processor | ||
| 53 | card, the Quad processors have to be configured (and Bootstrapped) in | ||
| 54 | as a pair of Master/Slave processors. | ||
| 55 | |||
| 56 | In fact, most Quad cards only accept one VIC interrupt line, so they | ||
| 57 | have one interrupt handling processor (called the VIC extended | ||
| 58 | processor) and three non-interrupt handling processors. | ||
| 59 | |||
| 60 | Current Status | ||
| 61 | -------------- | ||
| 62 | |||
| 63 | The System will boot on Mono, Dyad and Quad cards. There was | ||
| 64 | originally a Quad boot problem which has been fixed by proper gdt | ||
| 65 | alignment in the initial boot loader. If you still cannot get your | ||
| 66 | voyager system to boot, email me at: | ||
| 67 | |||
| 68 | <J.E.J.Bottomley@HansenPartnership.com> | ||
| 69 | |||
| 70 | |||
| 71 | The Quad cards now support using the separate Quad CPI vectors instead | ||
| 72 | of going through the VIC mailbox system. | ||
| 73 | |||
| 74 | The Level 4 architecture (3430 and 3360 Machines) should also work | ||
| 75 | fine. | ||
| 76 | |||
| 77 | Dump Switch | ||
| 78 | ----------- | ||
| 79 | |||
| 80 | The voyager dump switch sends out a broadcast NMI which the voyager | ||
| 81 | code intercepts and does a task dump. | ||
| 82 | |||
| 83 | Power Switch | ||
| 84 | ------------ | ||
| 85 | |||
| 86 | The front panel power switch is intercepted by the kernel and should | ||
| 87 | cause a system shutdown and power off. | ||
| 88 | |||
| 89 | A Note About Mixed CPU Systems | ||
| 90 | ------------------------------ | ||
| 91 | |||
| 92 | Linux isn't designed to handle mixed CPU systems very well. In order | ||
| 93 | to get everything going you *must* make sure that your lowest | ||
| 94 | capability CPU is used for booting. Also, mixing CPU classes | ||
| 95 | (e.g. 486 and 586) is really not going to work very well at all. | ||
| @@ -71,6 +71,7 @@ Descriptions of section entries: · 70 unmodified lines | |||
| 71 | M: Mail patches to: FullName <address@domain> | 71 | M: Mail patches to: FullName <address@domain> |
| 72 | L: Mailing list that is relevant to this area | 72 | L: Mailing list that is relevant to this area |
| 73 | W: Web-page with status/info | 73 | W: Web-page with status/info |
| 74 | Q: Patchwork web based patch tracking system site | ||
| 74 | T: SCM tree type and location. Type is one of: git, hg, quilt, stgit. | 75 | T: SCM tree type and location. Type is one of: git, hg, quilt, stgit. |
| 75 | S: Status, one of the following: | 76 | S: Status, one of the following: |
| 76 | Supported: Someone is actually paid to look after this. | 77 | Supported: Someone is actually paid to look after this. |
| @@ -182,6 +183,7 @@ M: Ron Minnich <rminnich@sandia.gov> · 105 unmodified lines | |||
| 182 | M: Latchesar Ionkov <lucho@ionkov.net> | 183 | M: Latchesar Ionkov <lucho@ionkov.net> |
| 183 | L: v9fs-developer@lists.sourceforge.net | 184 | L: v9fs-developer@lists.sourceforge.net |
| 184 | W: http://swik.net/v9fs | 185 | W: http://swik.net/v9fs |
| 186 | Q: http://patchwork.kernel.org/project/v9fs-devel/list/ | ||
| 185 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs.git | 187 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs.git |
| 186 | S: Maintained | 188 | S: Maintained |
| 187 | F: Documentation/filesystems/9p.txt | 189 | F: Documentation/filesystems/9p.txt |
| @@ -238,6 +240,7 @@ ACPI · 50 unmodified lines | |||
| 238 | M: Len Brown <lenb@kernel.org> | 240 | M: Len Brown <lenb@kernel.org> |
| 239 | L: linux-acpi@vger.kernel.org | 241 | L: linux-acpi@vger.kernel.org |
| 240 | W: http://www.lesswatts.org/projects/acpi/ | 242 | W: http://www.lesswatts.org/projects/acpi/ |
| 243 | Q: http://patchwork.kernel.org/project/linux-acpi/list/ | ||
| 241 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git | 244 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git |
| 242 | S: Supported | 245 | S: Supported |
| 243 | F: drivers/acpi/ | 246 | F: drivers/acpi/ |
| @@ -428,7 +431,6 @@ P: Jordan Crouse · 184 unmodified lines | |||
| 428 | L: linux-geode@lists.infradead.org (moderated for non-subscribers) | 431 | L: linux-geode@lists.infradead.org (moderated for non-subscribers) |
| 429 | W: http://www.amd.com/us-en/ConnectivitySolutions/TechnicalResources/0,,50_2334_2452_11363,00.html | 432 | W: http://www.amd.com/us-en/ConnectivitySolutions/TechnicalResources/0,,50_2334_2452_11363,00.html |
| 430 | S: Supported | 433 | S: Supported |
| 431 | F: arch/x86/kernel/geode_32.c | ||
| 432 | F: drivers/char/hw_random/geode-rng.c | 434 | F: drivers/char/hw_random/geode-rng.c |
| 433 | F: drivers/crypto/geode* | 435 | F: drivers/crypto/geode* |
| 434 | F: drivers/video/geode/ | 436 | F: drivers/video/geode/ |
| @@ -664,6 +666,12 @@ T: git://git.pengutronix.de/git/imx/linux-2.6.git · 229 unmodified lines | |||
| 664 | F: arch/arm/mach-mx*/ | 666 | F: arch/arm/mach-mx*/ |
| 665 | F: arch/arm/plat-mxc/ | 667 | F: arch/arm/plat-mxc/ |
| 666 | 668 | ||
| 669 | ARM/FREESCALE IMX51 | ||
| 670 | M: Amit Kucheria <amit.kucheria@canonical.com> | ||
| 671 | L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) | ||
| 672 | S: Maintained | ||
| 673 | F: arch/arm/mach-mx5/ | ||
| 674 | |||
| 667 | ARM/GLOMATION GESBC9312SX MACHINE SUPPORT | 675 | ARM/GLOMATION GESBC9312SX MACHINE SUPPORT |
| 668 | M: Lennert Buytenhek <kernel@wantstofly.org> | 676 | M: Lennert Buytenhek <kernel@wantstofly.org> |
| 669 | L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) | 677 | L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) |
| @@ -789,12 +797,12 @@ M: Michael Petchkovsky <mkpetch@internode.on.net> · 119 unmodified lines | |||
| 789 | S: Maintained | 797 | S: Maintained |
| 790 | 798 | ||
| 791 | ARM/NOMADIK ARCHITECTURE | 799 | ARM/NOMADIK ARCHITECTURE |
| 792 | M: Alessandro Rubini <rubini@unipv.it> | 800 | M: Alessandro Rubini <rubini@unipv.it> |
| 793 | M: STEricsson <STEricsson_nomadik_linux@list.st.com> | 801 | M: STEricsson <STEricsson_nomadik_linux@list.st.com> |
| 794 | L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) | 802 | L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) |
| 795 | S: Maintained | 803 | S: Maintained |
| 796 | F: arch/arm/mach-nomadik/ | 804 | F: arch/arm/mach-nomadik/ |
| 797 | F: arch/arm/plat-nomadik/ | 805 | F: arch/arm/plat-nomadik/ |
| 798 | 806 | ||
| 799 | ARM/OPENMOKO NEO FREERUNNER (GTA02) MACHINE SUPPORT | 807 | ARM/OPENMOKO NEO FREERUNNER (GTA02) MACHINE SUPPORT |
| 800 | M: Nelson Castillo <arhuaco@freaks-unidos.net> | 808 | M: Nelson Castillo <arhuaco@freaks-unidos.net> |
| @@ -937,6 +945,16 @@ W: http://www.fluff.org/ben/linux/ · 136 unmodified lines | |||
| 937 | S: Maintained | 945 | S: Maintained |
| 938 | F: arch/arm/mach-s3c6410/ | 946 | F: arch/arm/mach-s3c6410/ |
| 939 | 947 | ||
| 948 | ARM/SHMOBILE ARM ARCHITECTURE | ||
| 949 | M: Paul Mundt <lethal@linux-sh.org> | ||
| 950 | M: Magnus Damm <magnus.damm@gmail.com> | ||
| 951 | L: linux-sh@vger.kernel.org | ||
| 952 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/lethal/genesis-2.6.git | ||
| 953 | W: http://oss.renesas.com | ||
| 954 | S: Supported | ||
| 955 | F: arch/arm/mach-shmobile/ | ||
| 956 | F: drivers/sh/ | ||
| 957 | |||
| 940 | ARM/TECHNOLOGIC SYSTEMS TS7250 MACHINE SUPPORT | 958 | ARM/TECHNOLOGIC SYSTEMS TS7250 MACHINE SUPPORT |
| 941 | M: Lennert Buytenhek <kernel@wantstofly.org> | 959 | M: Lennert Buytenhek <kernel@wantstofly.org> |
| 942 | L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) | 960 | L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) |
| @@ -966,6 +984,13 @@ W: http://www.arm.linux.org.uk/ · 23 unmodified lines | |||
| 966 | S: Maintained | 984 | S: Maintained |
| 967 | F: arch/arm/vfp/ | 985 | F: arch/arm/vfp/ |
| 968 | 986 | ||
| 987 | ASC7621 HARDWARE MONITOR DRIVER | ||
| 988 | M: George Joseph <george.joseph@fairview5.com> | ||
| 989 | L: lm-sensors@lm-sensors.org | ||
| 990 | S: Maintained | ||
| 991 | F: Documentation/hwmon/asc7621 | ||
| 992 | F: drivers/hwmon/asc7621.c | ||
| 993 | |||
| 969 | ASUS ACPI EXTRAS DRIVER | 994 | ASUS ACPI EXTRAS DRIVER |
| 970 | M: Corentin Chary <corentincj@iksaif.net> | 995 | M: Corentin Chary <corentincj@iksaif.net> |
| 971 | M: Karol Kozimor <sziwan@users.sourceforge.net> | 996 | M: Karol Kozimor <sziwan@users.sourceforge.net> |
| @@ -1226,6 +1251,13 @@ W: http://blackfin.uclinux.org · 254 unmodified lines | |||
| 1226 | S: Supported | 1251 | S: Supported |
| 1227 | F: drivers/rtc/rtc-bfin.c | 1252 | F: drivers/rtc/rtc-bfin.c |
| 1228 | 1253 | ||
| 1254 | BLACKFIN SDH DRIVER | ||
| 1255 | M: Cliff Cai <cliff.cai@analog.com> | ||
| 1256 | L: uclinux-dist-devel@blackfin.uclinux.org | ||
| 1257 | W: http://blackfin.uclinux.org | ||
| 1258 | S: Supported | ||
| 1259 | F: drivers/mmc/host/bfin_sdh.c | ||
| 1260 | |||
| 1229 | BLACKFIN SERIAL DRIVER | 1261 | BLACKFIN SERIAL DRIVER |
| 1230 | M: Sonic Zhang <sonic.zhang@analog.com> | 1262 | M: Sonic Zhang <sonic.zhang@analog.com> |
| 1231 | L: uclinux-dist-devel@blackfin.uclinux.org | 1263 | L: uclinux-dist-devel@blackfin.uclinux.org |
| @@ -1332,6 +1364,7 @@ BTRFS FILE SYSTEM · 100 unmodified lines | |||
| 1332 | M: Chris Mason <chris.mason@oracle.com> | 1364 | M: Chris Mason <chris.mason@oracle.com> |
| 1333 | L: linux-btrfs@vger.kernel.org | 1365 | L: linux-btrfs@vger.kernel.org |
| 1334 | W: http://btrfs.wiki.kernel.org/ | 1366 | W: http://btrfs.wiki.kernel.org/ |
| 1367 | Q: http://patchwork.kernel.org/project/linux-btrfs/list/ | ||
| 1335 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git | 1368 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git |
| 1336 | S: Maintained | 1369 | S: Maintained |
| 1337 | F: Documentation/filesystems/btrfs.txt | 1370 | F: Documentation/filesystems/btrfs.txt |
| @@ -1372,20 +1405,30 @@ F: arch/x86/include/asm/calgary.h · 34 unmodified lines | |||
| 1372 | F: arch/x86/include/asm/tce.h | 1405 | F: arch/x86/include/asm/tce.h |
| 1373 | 1406 | ||
| 1374 | CAN NETWORK LAYER | 1407 | CAN NETWORK LAYER |
| 1375 | M: Urs Thuermann <urs.thuermann@volkswagen.de> | 1408 | M: Oliver Hartkopp <socketcan@hartkopp.net> |
| 1376 | M: Oliver Hartkopp <oliver.hartkopp@volkswagen.de> | 1409 | M: Oliver Hartkopp <oliver.hartkopp@volkswagen.de> |
| 1377 | L: socketcan-core@lists.berlios.de (subscribers-only) | 1410 | M: Urs Thuermann <urs.thuermann@volkswagen.de> |
| 1411 | L: socketcan-core@lists.berlios.de | ||
| 1412 | L: netdev@vger.kernel.org | ||
| 1378 | W: http://developer.berlios.de/projects/socketcan/ | 1413 | W: http://developer.berlios.de/projects/socketcan/ |
| 1379 | S: Maintained | 1414 | S: Maintained |
| 1380 | F: drivers/net/can/ | 1415 | F: net/can/ |
| 1381 | F: include/linux/can/ | ||
| 1382 | F: include/linux/can.h | 1416 | F: include/linux/can.h |
| 1417 | F: include/linux/can/core.h | ||
| 1418 | F: include/linux/can/bcm.h | ||
| 1419 | F: include/linux/can/raw.h | ||
| 1383 | 1420 | ||
| 1384 | CAN NETWORK DRIVERS | 1421 | CAN NETWORK DRIVERS |
| 1385 | M: Wolfgang Grandegger <wg@grandegger.com> | 1422 | M: Wolfgang Grandegger <wg@grandegger.com> |
| 1386 | L: socketcan-core@lists.berlios.de (subscribers-only) | 1423 | L: socketcan-core@lists.berlios.de |
| 1424 | L: netdev@vger.kernel.org | ||
| 1387 | W: http://developer.berlios.de/projects/socketcan/ | 1425 | W: http://developer.berlios.de/projects/socketcan/ |
| 1388 | S: Maintained | 1426 | S: Maintained |
| 1427 | F: drivers/net/can/ | ||
| 1428 | F: include/linux/can/dev.h | ||
| 1429 | F: include/linux/can/error.h | ||
| 1430 | F: include/linux/can/netlink.h | ||
| 1431 | F: include/linux/can/platform/ | ||
| 1389 | 1432 | ||
| 1390 | CELL BROADBAND ENGINE ARCHITECTURE | 1433 | CELL BROADBAND ENGINE ARCHITECTURE |
| 1391 | M: Arnd Bergmann <arnd@arndb.de> | 1434 | M: Arnd Bergmann <arnd@arndb.de> |
| @@ -1398,6 +1441,15 @@ F: arch/powerpc/include/asm/spu*.h · 6 unmodified lines | |||
| 1398 | F: arch/powerpc/oprofile/*cell* | 1441 | F: arch/powerpc/oprofile/*cell* |
| 1399 | F: arch/powerpc/platforms/cell/ | 1442 | F: arch/powerpc/platforms/cell/ |
| 1400 | 1443 | ||
| 1444 | CEPH DISTRIBUTED FILE SYSTEM CLIENT | ||
| 1445 | M: Sage Weil <sage@newdream.net> | ||
| 1446 | L: ceph-devel@vger.kernel.org | ||
| 1447 | W: http://ceph.newdream.net/ | ||
| 1448 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git | ||
| 1449 | S: Supported | ||
| 1450 | F: Documentation/filesystems/ceph.txt | ||
| 1451 | F: fs/ceph | ||
| 1452 | |||
| 1401 | CERTIFIED WIRELESS USB (WUSB) SUBSYSTEM: | 1453 | CERTIFIED WIRELESS USB (WUSB) SUBSYSTEM: |
| 1402 | M: David Vrabel <david.vrabel@csr.com> | 1454 | M: David Vrabel <david.vrabel@csr.com> |
| 1403 | L: linux-usb@vger.kernel.org | 1455 | L: linux-usb@vger.kernel.org |
| @@ -1496,6 +1548,7 @@ M: Steve French <sfrench@samba.org> · 92 unmodified lines | |||
| 1496 | L: linux-cifs-client@lists.samba.org (moderated for non-subscribers) | 1548 | L: linux-cifs-client@lists.samba.org (moderated for non-subscribers) |
| 1497 | L: samba-technical@lists.samba.org (moderated for non-subscribers) | 1549 | L: samba-technical@lists.samba.org (moderated for non-subscribers) |
| 1498 | W: http://linux-cifs.samba.org/ | 1550 | W: http://linux-cifs.samba.org/ |
| 1551 | Q: http://patchwork.ozlabs.org/project/linux-cifs-client/list/ | ||
| 1499 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6.git | 1552 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6.git |
| 1500 | S: Supported | 1553 | S: Supported |
| 1501 | F: Documentation/filesystems/cifs.txt | 1554 | F: Documentation/filesystems/cifs.txt |
| @@ -1782,6 +1835,7 @@ DEVICE-MAPPER (LVM) · 280 unmodified lines | |||
| 1782 | P: Alasdair Kergon | 1835 | P: Alasdair Kergon |
| 1783 | L: dm-devel@redhat.com | 1836 | L: dm-devel@redhat.com |
| 1784 | W: http://sources.redhat.com/dm | 1837 | W: http://sources.redhat.com/dm |
| 1838 | Q: http://patchwork.kernel.org/project/dm-devel/list/ | ||
| 1785 | S: Maintained | 1839 | S: Maintained |
| 1786 | F: Documentation/device-mapper/ | 1840 | F: Documentation/device-mapper/ |
| 1787 | F: drivers/md/dm* | 1841 | F: drivers/md/dm* |
| @@ -1872,17 +1926,17 @@ F: drivers/scsi/dpt* · 84 unmodified lines | |||
| 1872 | F: drivers/scsi/dpt/ | 1926 | F: drivers/scsi/dpt/ |
| 1873 | 1927 | ||
| 1874 | DRBD DRIVER | 1928 | DRBD DRIVER |
| 1875 | P: Philipp Reisner | 1929 | P: Philipp Reisner |
| 1876 | P: Lars Ellenberg | 1930 | P: Lars Ellenberg |
| 1877 | M: drbd-dev@lists.linbit.com | 1931 | M: drbd-dev@lists.linbit.com |
| 1878 | L: drbd-user@lists.linbit.com | 1932 | L: drbd-user@lists.linbit.com |
| 1879 | W: http://www.drbd.org | 1933 | W: http://www.drbd.org |
| 1880 | T: git git://git.drbd.org/linux-2.6-drbd.git drbd | 1934 | T: git git://git.drbd.org/linux-2.6-drbd.git drbd |
| 1881 | T: git git://git.drbd.org/drbd-8.3.git | 1935 | T: git git://git.drbd.org/drbd-8.3.git |
| 1882 | S: Supported | 1936 | S: Supported |
| 1883 | F: drivers/block/drbd/ | 1937 | F: drivers/block/drbd/ |
| 1884 | F: lib/lru_cache.c | 1938 | F: lib/lru_cache.c |
| 1885 | F: Documentation/blockdev/drbd/ | 1939 | F: Documentation/blockdev/drbd/ |
| 1886 | 1940 | ||
| 1887 | DRIVER CORE, KOBJECTS, AND SYSFS | 1941 | DRIVER CORE, KOBJECTS, AND SYSFS |
| 1888 | M: Greg Kroah-Hartman <gregkh@suse.de> | 1942 | M: Greg Kroah-Hartman <gregkh@suse.de> |
| @@ -2095,6 +2149,7 @@ F: drivers/net/eexpress.* · 206 unmodified lines | |||
| 2095 | ETHERNET BRIDGE | 2149 | ETHERNET BRIDGE |
| 2096 | M: Stephen Hemminger <shemminger@linux-foundation.org> | 2150 | M: Stephen Hemminger <shemminger@linux-foundation.org> |
| 2097 | L: bridge@lists.linux-foundation.org | 2151 | L: bridge@lists.linux-foundation.org |
| 2152 | L: netdev@vger.kernel.org | ||
| 2098 | W: http://www.linux-foundation.org/en/Net:Bridge | 2153 | W: http://www.linux-foundation.org/en/Net:Bridge |
| 2099 | S: Maintained | 2154 | S: Maintained |
| 2100 | F: include/linux/netfilter_bridge/ | 2155 | F: include/linux/netfilter_bridge/ |
| @@ -2126,6 +2181,7 @@ M: "Theodore Ts'o" <tytso@mit.edu> · 25 unmodified lines | |||
| 2126 | M: Andreas Dilger <adilger@sun.com> | 2181 | M: Andreas Dilger <adilger@sun.com> |
| 2127 | L: linux-ext4@vger.kernel.org | 2182 | L: linux-ext4@vger.kernel.org |
| 2128 | W: http://ext4.wiki.kernel.org | 2183 | W: http://ext4.wiki.kernel.org |
| 2184 | Q: http://patchwork.ozlabs.org/project/linux-ext4/list/ | ||
| 2129 | S: Maintained | 2185 | S: Maintained |
| 2130 | F: Documentation/filesystems/ext4.txt | 2186 | F: Documentation/filesystems/ext4.txt |
| 2131 | F: fs/ext4/ | 2187 | F: fs/ext4/ |
| @@ -2502,13 +2558,6 @@ L: linux-parisc@vger.kernel.org · 370 unmodified lines | |||
| 2502 | S: Maintained | 2558 | S: Maintained |
| 2503 | F: sound/parisc/harmony.* | 2559 | F: sound/parisc/harmony.* |
| 2504 | 2560 | ||
| 2505 | HAYES ESP SERIAL DRIVER | ||
| 2506 | M: "Andrew J. Robinson" <arobinso@nyx.net> | ||
| 2507 | W: http://www.nyx.net/~arobinso | ||
| 2508 | S: Maintained | ||
| 2509 | F: Documentation/serial/hayes-esp.txt | ||
| 2510 | F: drivers/char/esp.c | ||
| 2511 | |||
| 2512 | HEWLETT-PACKARD SMART2 RAID DRIVER | 2561 | HEWLETT-PACKARD SMART2 RAID DRIVER |
| 2513 | M: Chirag Kantharia <chirag.kantharia@hp.com> | 2562 | M: Chirag Kantharia <chirag.kantharia@hp.com> |
| 2514 | L: iss_storagedev@hp.com | 2563 | L: iss_storagedev@hp.com |
| @@ -2717,6 +2766,7 @@ F: drivers/scsi/ips.* · 202 unmodified lines | |||
| 2717 | IDE SUBSYSTEM | 2766 | IDE SUBSYSTEM |
| 2718 | M: "David S. Miller" <davem@davemloft.net> | 2767 | M: "David S. Miller" <davem@davemloft.net> |
| 2719 | L: linux-ide@vger.kernel.org | 2768 | L: linux-ide@vger.kernel.org |
| 2769 | Q: http://patchwork.ozlabs.org/project/linux-ide/list/ | ||
| 2720 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6.git | 2770 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6.git |
| 2721 | S: Maintained | 2771 | S: Maintained |
| 2722 | F: Documentation/ide/ | 2772 | F: Documentation/ide/ |
| @@ -2771,6 +2821,7 @@ M: Sean Hefty <sean.hefty@intel.com> · 48 unmodified lines | |||
| 2771 | M: Hal Rosenstock <hal.rosenstock@gmail.com> | 2821 | M: Hal Rosenstock <hal.rosenstock@gmail.com> |
| 2772 | L: linux-rdma@vger.kernel.org | 2822 | L: linux-rdma@vger.kernel.org |
| 2773 | W: http://www.openib.org/ | 2823 | W: http://www.openib.org/ |
| 2824 | Q: http://patchwork.kernel.org/project/linux-rdma/list/ | ||
| 2774 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband.git | 2825 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband.git |
| 2775 | S: Supported | 2826 | S: Supported |
| 2776 | F: Documentation/infiniband/ | 2827 | F: Documentation/infiniband/ |
| @@ -2790,12 +2841,13 @@ INPUT (KEYBOARD, MOUSE, JOYSTICK, TOUCHSCREEN) DRIVERS · 13 unmodified lines | |||
| 2790 | M: Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2841 | M: Dmitry Torokhov <dmitry.torokhov@gmail.com> |
| 2791 | M: Dmitry Torokhov <dtor@mail.ru> | 2842 | M: Dmitry Torokhov <dtor@mail.ru> |
| 2792 | L: linux-input@vger.kernel.org | 2843 | L: linux-input@vger.kernel.org |
| 2844 | Q: http://patchwork.kernel.org/project/linux-input/list/ | ||
| 2793 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git | 2845 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git |
| 2794 | S: Maintained | 2846 | S: Maintained |
| 2795 | F: drivers/input/ | 2847 | F: drivers/input/ |
| 2796 | 2848 | ||
| 2797 | INTEL FRAMEBUFFER DRIVER (excluding 810 and 815) | 2849 | INTEL FRAMEBUFFER DRIVER (excluding 810 and 815) |
| 2798 | M: Sylvain Meyer <sylvain.meyer@worldonline.fr> | 2850 | M: Maik Broemme <mbroemme@plusserver.de> |
| 2799 | L: linux-fbdev@vger.kernel.org | 2851 | L: linux-fbdev@vger.kernel.org |
| 2800 | S: Maintained | 2852 | S: Maintained |
| 2801 | F: Documentation/fb/intelfb.txt | 2853 | F: Documentation/fb/intelfb.txt |
| @@ -3031,6 +3083,7 @@ F: include/scsi/*iscsi* · 229 unmodified lines | |||
| 3031 | ISDN SUBSYSTEM | 3083 | ISDN SUBSYSTEM |
| 3032 | M: Karsten Keil <isdn@linux-pingi.de> | 3084 | M: Karsten Keil <isdn@linux-pingi.de> |
| 3033 | L: isdn4linux@listserv.isdn4linux.de (subscribers-only) | 3085 | L: isdn4linux@listserv.isdn4linux.de (subscribers-only) |
| 3086 | L: netdev@vger.kernel.org | ||
| 3034 | W: http://www.isdn4linux.de | 3087 | W: http://www.isdn4linux.de |
| 3035 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/isdn-2.6.git | 3088 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/isdn-2.6.git |
| 3036 | S: Maintained | 3089 | S: Maintained |
| @@ -3046,6 +3099,13 @@ W: http://www.melware.de · 9 unmodified lines | |||
| 3046 | S: Maintained | 3099 | S: Maintained |
| 3047 | F: drivers/isdn/hardware/eicon/ | 3100 | F: drivers/isdn/hardware/eicon/ |
| 3048 | 3101 | ||
| 3102 | IT87 HARDWARE MONITORING DRIVER | ||
| 3103 | M: Jean Delvare <khali@linux-fr.org> | ||
| 3104 | L: lm-sensors@lm-sensors.org | ||
| 3105 | S: Maintained | ||
| 3106 | F: Documentation/hwmon/it87 | ||
| 3107 | F: drivers/hwmon/it87.c | ||
| 3108 | |||
| 3049 | IVTV VIDEO4LINUX DRIVER | 3109 | IVTV VIDEO4LINUX DRIVER |
| 3050 | M: Andy Walls <awalls@radix.net> | 3110 | M: Andy Walls <awalls@radix.net> |
| 3051 | L: ivtv-devel@ivtvdriver.org (moderated for non-subscribers) | 3111 | L: ivtv-devel@ivtvdriver.org (moderated for non-subscribers) |
| @@ -3099,6 +3159,7 @@ F: drivers/hwmon/k8temp.c · 47 unmodified lines | |||
| 3099 | KCONFIG | 3159 | KCONFIG |
| 3100 | M: Roman Zippel <zippel@linux-m68k.org> | 3160 | M: Roman Zippel <zippel@linux-m68k.org> |
| 3101 | L: linux-kbuild@vger.kernel.org | 3161 | L: linux-kbuild@vger.kernel.org |
| 3162 | Q: http://patchwork.kernel.org/project/linux-kbuild/list/ | ||
| 3102 | S: Maintained | 3163 | S: Maintained |
| 3103 | F: Documentation/kbuild/kconfig-language.txt | 3164 | F: Documentation/kbuild/kconfig-language.txt |
| 3104 | F: scripts/kconfig/ | 3165 | F: scripts/kconfig/ |
| @@ -3173,7 +3234,7 @@ F: arch/x86/include/asm/svm.h · 68 unmodified lines | |||
| 3173 | F: arch/x86/kvm/svm.c | 3234 | F: arch/x86/kvm/svm.c |
| 3174 | 3235 | ||
| 3175 | KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC | 3236 | KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC |
| 3176 | M: Hollis Blanchard <hollisb@us.ibm.com> | 3237 | M: Alexander Graf <agraf@suse.de> |
| 3177 | L: kvm-ppc@vger.kernel.org | 3238 | L: kvm-ppc@vger.kernel.org |
| 3178 | W: http://kvm.qumranet.com | 3239 | W: http://kvm.qumranet.com |
| 3179 | S: Supported | 3240 | S: Supported |
| @@ -3209,6 +3270,16 @@ S: Maintained · 29 unmodified lines | |||
| 3209 | F: include/linux/kexec.h | 3270 | F: include/linux/kexec.h |
| 3210 | F: kernel/kexec.c | 3271 | F: kernel/kexec.c |
| 3211 | 3272 | ||
| 3273 | KEYS/KEYRINGS: | ||
| 3274 | M: David Howells <dhowells@redhat.com> | ||
| 3275 | L: keyrings@linux-nfs.org | ||
| 3276 | S: Maintained | ||
| 3277 | F: Documentation/keys.txt | ||
| 3278 | F: include/linux/key.h | ||
| 3279 | F: include/linux/key-type.h | ||
| 3280 | F: include/keys/ | ||
| 3281 | F: security/keys/ | ||
| 3282 | |||
| 3212 | KGDB | 3283 | KGDB |
| 3213 | M: Jason Wessel <jason.wessel@windriver.com> | 3284 | M: Jason Wessel <jason.wessel@windriver.com> |
| 3214 | L: kgdb-bugreport@lists.sourceforge.net | 3285 | L: kgdb-bugreport@lists.sourceforge.net |
| @@ -3312,6 +3383,7 @@ M: Benjamin Herrenschmidt <benh@kernel.crashing.org> · 97 unmodified lines | |||
| 3312 | M: Paul Mackerras <paulus@samba.org> | 3383 | M: Paul Mackerras <paulus@samba.org> |
| 3313 | W: http://www.penguinppc.org/ | 3384 | W: http://www.penguinppc.org/ |
| 3314 | L: linuxppc-dev@ozlabs.org | 3385 | L: linuxppc-dev@ozlabs.org |
| 3386 | Q: http://patchwork.ozlabs.org/project/linuxppc-dev/list/ | ||
| 3315 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git | 3387 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git |
| 3316 | S: Supported | 3388 | S: Supported |
| 3317 | F: Documentation/powerpc/ | 3389 | F: Documentation/powerpc/ |
| @@ -3432,6 +3504,13 @@ S: Maintained · 114 unmodified lines | |||
| 3432 | F: Documentation/ldm.txt | 3504 | F: Documentation/ldm.txt |
| 3433 | F: fs/partitions/ldm.* | 3505 | F: fs/partitions/ldm.* |
| 3434 | 3506 | ||
| 3507 | LogFS | ||
| 3508 | M: Joern Engel <joern@logfs.org> | ||
| 3509 | L: logfs@logfs.org | ||
| 3510 | W: logfs.org | ||
| 3511 | S: Maintained | ||
| 3512 | F: fs/logfs/ | ||
| 3513 | |||
| 3435 | LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI) | 3514 | LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI) |
| 3436 | M: Eric Moore <Eric.Moore@lsi.com> | 3515 | M: Eric Moore <Eric.Moore@lsi.com> |
| 3437 | M: support@lsi.com | 3516 | M: support@lsi.com |
| @@ -3450,8 +3529,8 @@ F: drivers/scsi/sym53c8xx_2/ · 12 unmodified lines | |||
| 3450 | LTP (Linux Test Project) | 3529 | LTP (Linux Test Project) |
| 3451 | M: Rishikesh K Rajak <risrajak@linux.vnet.ibm.com> | 3530 | M: Rishikesh K Rajak <risrajak@linux.vnet.ibm.com> |
| 3452 | M: Garrett Cooper <yanegomi@gmail.com> | 3531 | M: Garrett Cooper <yanegomi@gmail.com> |
| 3453 | M: Mike Frysinger <vapier@gentoo.org> | 3532 | M: Mike Frysinger <vapier@gentoo.org> |
| 3454 | M: Subrata Modak <subrata@linux.vnet.ibm.com> | 3533 | M: Subrata Modak <subrata@linux.vnet.ibm.com> |
| 3455 | L: ltp-list@lists.sourceforge.net (subscribers-only) | 3534 | L: ltp-list@lists.sourceforge.net (subscribers-only) |
| 3456 | W: http://ltp.sourceforge.net/ | 3535 | W: http://ltp.sourceforge.net/ |
| 3457 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/galak/ltp.git | 3536 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/galak/ltp.git |
| @@ -3568,6 +3647,7 @@ M: Mauro Carvalho Chehab <mchehab@infradead.org> · 110 unmodified lines | |||
| 3568 | P: LinuxTV.org Project | 3647 | P: LinuxTV.org Project |
| 3569 | L: linux-media@vger.kernel.org | 3648 | L: linux-media@vger.kernel.org |
| 3570 | W: http://linuxtv.org | 3649 | W: http://linuxtv.org |
| 3650 | Q: http://patchwork.kernel.org/project/linux-media/list/ | ||
| 3571 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git | 3651 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git |
| 3572 | S: Maintained | 3652 | S: Maintained |
| 3573 | F: Documentation/dvb/ | 3653 | F: Documentation/dvb/ |
| @@ -3595,7 +3675,7 @@ F: mm/ · 21 unmodified lines | |||
| 3595 | 3675 | ||
| 3596 | MEMORY RESOURCE CONTROLLER | 3676 | MEMORY RESOURCE CONTROLLER |
| 3597 | M: Balbir Singh <balbir@linux.vnet.ibm.com> | 3677 | M: Balbir Singh <balbir@linux.vnet.ibm.com> |
| 3598 | M: Pavel Emelyanov <xemul@openvz.org> | 3678 | M: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp> |
| 3599 | M: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> | 3679 | M: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> |
| 3600 | L: linux-mm@kvack.org | 3680 | L: linux-mm@kvack.org |
| 3601 | S: Maintained | 3681 | S: Maintained |
| @@ -3603,8 +3683,9 @@ F: mm/memcontrol.c · 1 unmodified line | |||
| 3603 | 3683 | ||
| 3604 | MEMORY TECHNOLOGY DEVICES (MTD) | 3684 | MEMORY TECHNOLOGY DEVICES (MTD) |
| 3605 | M: David Woodhouse <dwmw2@infradead.org> | 3685 | M: David Woodhouse <dwmw2@infradead.org> |
| 3606 | W: http://www.linux-mtd.infradead.org/ | ||
| 3607 | L: linux-mtd@lists.infradead.org | 3686 | L: linux-mtd@lists.infradead.org |
| 3687 | W: http://www.linux-mtd.infradead.org/ | ||
| 3688 | Q: http://patchwork.ozlabs.org/project/linux-mtd/list/ | ||
| 3608 | T: git git://git.infradead.org/mtd-2.6.git | 3689 | T: git git://git.infradead.org/mtd-2.6.git |
| 3609 | S: Maintained | 3690 | S: Maintained |
| 3610 | F: drivers/mtd/ | 3691 | F: drivers/mtd/ |
| @@ -3864,6 +3945,7 @@ S: Maintained · 253 unmodified lines | |||
| 3864 | NETWORKING [WIRELESS] | 3945 | NETWORKING [WIRELESS] |
| 3865 | M: "John W. Linville" <linville@tuxdriver.com> | 3946 | M: "John W. Linville" <linville@tuxdriver.com> |
| 3866 | L: linux-wireless@vger.kernel.org | 3947 | L: linux-wireless@vger.kernel.org |
| 3948 | Q: http://patchwork.kernel.org/project/linux-wireless/list/ | ||
| 3867 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git | 3949 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6.git |
| 3868 | S: Maintained | 3950 | S: Maintained |
| 3869 | F: net/mac80211/ | 3951 | F: net/mac80211/ |
| @@ -3956,6 +4038,7 @@ M: Tony Lindgren <tony@atomide.com> · 86 unmodified lines | |||
| 3956 | L: linux-omap@vger.kernel.org | 4038 | L: linux-omap@vger.kernel.org |
| 3957 | W: http://www.muru.com/linux/omap/ | 4039 | W: http://www.muru.com/linux/omap/ |
| 3958 | W: http://linux.omap.com/ | 4040 | W: http://linux.omap.com/ |
| 4041 | Q: http://patchwork.kernel.org/project/linux-omap/list/ | ||
| 3959 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git | 4042 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git |
| 3960 | S: Maintained | 4043 | S: Maintained |
| 3961 | F: arch/arm/*omap*/ | 4044 | F: arch/arm/*omap*/ |
| @@ -4182,6 +4265,7 @@ M: Helge Deller <deller@gmx.de> · 220 unmodified lines | |||
| 4182 | M: "James E.J. Bottomley" <jejb@parisc-linux.org> | 4265 | M: "James E.J. Bottomley" <jejb@parisc-linux.org> |
| 4183 | L: linux-parisc@vger.kernel.org | 4266 | L: linux-parisc@vger.kernel.org |
| 4184 | W: http://www.parisc-linux.org/ | 4267 | W: http://www.parisc-linux.org/ |
| 4268 | Q: http://patchwork.kernel.org/project/linux-parisc/list/ | ||
| 4185 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6.git | 4269 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6.git |
| 4186 | S: Maintained | 4270 | S: Maintained |
| 4187 | F: arch/parisc/ | 4271 | F: arch/parisc/ |
| @@ -4224,6 +4308,7 @@ F: Documentation/powerpc/eeh-pci-error-recovery.txt · 36 unmodified lines | |||
| 4224 | PCI SUBSYSTEM | 4308 | PCI SUBSYSTEM |
| 4225 | M: Jesse Barnes <jbarnes@virtuousgeek.org> | 4309 | M: Jesse Barnes <jbarnes@virtuousgeek.org> |
| 4226 | L: linux-pci@vger.kernel.org | 4310 | L: linux-pci@vger.kernel.org |
| 4311 | Q: http://patchwork.kernel.org/project/linux-pci/list/ | ||
| 4227 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6.git | 4312 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6.git |
| 4228 | S: Supported | 4313 | S: Supported |
| 4229 | F: Documentation/PCI/ | 4314 | F: Documentation/PCI/ |
| @@ -4262,10 +4347,13 @@ PERFORMANCE EVENTS SUBSYSTEM · 32 unmodified lines | |||
| 4262 | M: Peter Zijlstra <a.p.zijlstra@chello.nl> | 4347 | M: Peter Zijlstra <a.p.zijlstra@chello.nl> |
| 4263 | M: Paul Mackerras <paulus@samba.org> | 4348 | M: Paul Mackerras <paulus@samba.org> |
| 4264 | M: Ingo Molnar <mingo@elte.hu> | 4349 | M: Ingo Molnar <mingo@elte.hu> |
| 4350 | M: Arnaldo Carvalho de Melo <acme@redhat.com> | ||
| 4265 | S: Supported | 4351 | S: Supported |
| 4266 | F: kernel/perf_event.c | 4352 | F: kernel/perf_event.c |
| 4267 | F: include/linux/perf_event.h | 4353 | F: include/linux/perf_event.h |
| 4268 | F: arch/*/*/kernel/perf_event.c | 4354 | F: arch/*/kernel/perf_event.c |
| 4355 | F: arch/*/kernel/*/perf_event.c | ||
| 4356 | F: arch/*/kernel/*/*/perf_event.c | ||
| 4269 | F: arch/*/include/asm/perf_event.h | 4357 | F: arch/*/include/asm/perf_event.h |
| 4270 | F: arch/*/lib/perf_event.c | 4358 | F: arch/*/lib/perf_event.c |
| 4271 | F: arch/*/kernel/perf_callchain.c | 4359 | F: arch/*/kernel/perf_callchain.c |
| @@ -4462,6 +4550,13 @@ L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) · 190 unmodified lines | |||
| 4462 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6.git | 4550 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6.git |
| 4463 | S: Maintained | 4551 | S: Maintained |
| 4464 | 4552 | ||
| 4553 | MMP2 SUPPORT (aka ARMADA610) | ||
| 4554 | M: Haojian Zhuang <haojian.zhuang@marvell.com> | ||
| 4555 | M: Eric Miao <eric.y.miao@gmail.com> | ||
| 4556 | L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) | ||
| 4557 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6.git | ||
| 4558 | S: Maintained | ||
| 4559 | |||
| 4465 | PXA MMCI DRIVER | 4560 | PXA MMCI DRIVER |
| 4466 | S: Orphan | 4561 | S: Orphan |
| 4467 | 4562 | ||
| @@ -4599,6 +4694,7 @@ F: include/linux/rtc.h · 131 unmodified lines | |||
| 4599 | REAL TIME CLOCK (RTC) SUBSYSTEM | 4694 | REAL TIME CLOCK (RTC) SUBSYSTEM |
| 4600 | M: Alessandro Zummo <a.zummo@towertech.it> | 4695 | M: Alessandro Zummo <a.zummo@towertech.it> |
| 4601 | L: rtc-linux@googlegroups.com | 4696 | L: rtc-linux@googlegroups.com |
| 4697 | Q: http://patchwork.ozlabs.org/project/rtc-linux/list/ | ||
| 4602 | S: Maintained | 4698 | S: Maintained |
| 4603 | F: Documentation/rtc.txt | 4699 | F: Documentation/rtc.txt |
| 4604 | F: drivers/rtc/ | 4700 | F: drivers/rtc/ |
| @@ -4966,6 +5062,7 @@ F: drivers/*/*/*s3c2410* · 361 unmodified lines | |||
| 4966 | TI DAVINCI MACHINE SUPPORT | 5062 | TI DAVINCI MACHINE SUPPORT |
| 4967 | P: Kevin Hilman | 5063 | P: Kevin Hilman |
| 4968 | M: davinci-linux-open-source@linux.davincidsp.com | 5064 | M: davinci-linux-open-source@linux.davincidsp.com |
| 5065 | Q: http://patchwork.kernel.org/project/linux-davinci/list/ | ||
| 4969 | S: Supported | 5066 | S: Supported |
| 4970 | F: arch/arm/mach-davinci | 5067 | F: arch/arm/mach-davinci |
| 4971 | 5068 | ||
| @@ -5131,11 +5228,27 @@ F: include/sound/soc* · 159 unmodified lines | |||
| 5131 | SPARC + UltraSPARC (sparc/sparc64) | 5228 | SPARC + UltraSPARC (sparc/sparc64) |
| 5132 | M: "David S. Miller" <davem@davemloft.net> | 5229 | M: "David S. Miller" <davem@davemloft.net> |
| 5133 | L: sparclinux@vger.kernel.org | 5230 | L: sparclinux@vger.kernel.org |
| 5231 | Q: http://patchwork.ozlabs.org/project/sparclinux/list/ | ||
| 5134 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6.git | 5232 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6.git |
| 5135 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6.git | 5233 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6.git |
| 5136 | S: Maintained | 5234 | S: Maintained |
| 5137 | F: arch/sparc/ | 5235 | F: arch/sparc/ |
| 5138 | 5236 | ||
| 5237 | SPARC SERIAL DRIVERS | ||
| 5238 | M: "David S. Miller" <davem@davemloft.net> | ||
| 5239 | L: sparclinux@vger.kernel.org | ||
| 5240 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6.git | ||
| 5241 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6.git | ||
| 5242 | S: Maintained | ||
| 5243 | F: drivers/serial/suncore.c | ||
| 5244 | F: drivers/serial/suncore.h | ||
| 5245 | F: drivers/serial/sunhv.c | ||
| 5246 | F: drivers/serial/sunsab.c | ||
| 5247 | F: drivers/serial/sunsab.h | ||
| 5248 | F: drivers/serial/sunsu.c | ||
| 5249 | F: drivers/serial/sunzilog.c | ||
| 5250 | F: drivers/serial/sunzilog.h | ||
| 5251 | |||
| 5139 | SPECIALIX IO8+ MULTIPORT SERIAL CARD DRIVER | 5252 | SPECIALIX IO8+ MULTIPORT SERIAL CARD DRIVER |
| 5140 | M: Roger Wolff <R.E.Wolff@BitWizard.nl> | 5253 | M: Roger Wolff <R.E.Wolff@BitWizard.nl> |
| 5141 | S: Supported | 5254 | S: Supported |
| @@ -5146,6 +5259,7 @@ SPI SUBSYSTEM · 4 unmodified lines | |||
| 5146 | M: David Brownell <dbrownell@users.sourceforge.net> | 5259 | M: David Brownell <dbrownell@users.sourceforge.net> |
| 5147 | M: Grant Likely <grant.likely@secretlab.ca> | 5260 | M: Grant Likely <grant.likely@secretlab.ca> |
| 5148 | L: spi-devel-general@lists.sourceforge.net | 5261 | L: spi-devel-general@lists.sourceforge.net |
| 5262 | Q: http://patchwork.kernel.org/project/spi-devel-general/list/ | ||
| 5149 | S: Maintained | 5263 | S: Maintained |
| 5150 | F: Documentation/spi/ | 5264 | F: Documentation/spi/ |
| 5151 | F: drivers/spi/ | 5265 | F: drivers/spi/ |
| @@ -5201,7 +5315,7 @@ F: drivers/net/starfire* · 49 unmodified lines | |||
| 5201 | 5315 | ||
| 5202 | STARMODE RADIO IP (STRIP) PROTOCOL DRIVER | 5316 | STARMODE RADIO IP (STRIP) PROTOCOL DRIVER |
| 5203 | S: Orphan | 5317 | S: Orphan |
| 5204 | F: drivers/net/wireless/strip.c | 5318 | F: drivers/staging/strip/strip.c |
| 5205 | F: include/linux/if_strip.h | 5319 | F: include/linux/if_strip.h |
| 5206 | 5320 | ||
| 5207 | STRADIS MPEG-2 DECODER DRIVER | 5321 | STRADIS MPEG-2 DECODER DRIVER |
| @@ -5222,6 +5336,7 @@ SUPERH · 14 unmodified lines | |||
| 5222 | M: Paul Mundt <lethal@linux-sh.org> | 5336 | M: Paul Mundt <lethal@linux-sh.org> |
| 5223 | L: linux-sh@vger.kernel.org | 5337 | L: linux-sh@vger.kernel.org |
| 5224 | W: http://www.linux-sh.org | 5338 | W: http://www.linux-sh.org |
| 5339 | Q: http://patchwork.kernel.org/project/linux-sh/list/ | ||
| 5225 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.git | 5340 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.git |
| 5226 | S: Supported | 5341 | S: Supported |
| 5227 | F: Documentation/sh/ | 5342 | F: Documentation/sh/ |
| @@ -5319,7 +5434,6 @@ S: Maintained · 91 unmodified lines | |||
| 5319 | F: sound/soc/codecs/twl4030* | 5434 | F: sound/soc/codecs/twl4030* |
| 5320 | 5435 | ||
| 5321 | TIPC NETWORK LAYER | 5436 | TIPC NETWORK LAYER |
| 5322 | M: Per Liden <per.liden@ericsson.com> | ||
| 5323 | M: Jon Maloy <jon.maloy@ericsson.com> | 5437 | M: Jon Maloy <jon.maloy@ericsson.com> |
| 5324 | M: Allan Stephens <allan.stephens@windriver.com> | 5438 | M: Allan Stephens <allan.stephens@windriver.com> |
| 5325 | L: tipc-discussion@lists.sourceforge.net | 5439 | L: tipc-discussion@lists.sourceforge.net |
| @@ -5989,7 +6103,7 @@ L: linux-wireless@vger.kernel.org · 663 unmodified lines | |||
| 5989 | W: http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/ | 6103 | W: http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/ |
| 5990 | S: Maintained | 6104 | S: Maintained |
| 5991 | F: Documentation/networking/wavelan.txt | 6105 | F: Documentation/networking/wavelan.txt |
| 5992 | F: drivers/net/wireless/wavelan* | 6106 | F: drivers/staging/wavelan/ |
| 5993 | 6107 | ||
| 5994 | WD7000 SCSI DRIVER | 6108 | WD7000 SCSI DRIVER |
| 5995 | M: Miroslav Zagorac <zaga@fly.cc.fer.hr> | 6109 | M: Miroslav Zagorac <zaga@fly.cc.fer.hr> |
| @@ -6097,7 +6211,7 @@ F: arch/x86/ · 101 unmodified lines | |||
| 6097 | X86 PLATFORM DRIVERS | 6211 | X86 PLATFORM DRIVERS |
| 6098 | M: Matthew Garrett <mjg@redhat.com> | 6212 | M: Matthew Garrett <mjg@redhat.com> |
| 6099 | L: platform-driver-x86@vger.kernel.org | 6213 | L: platform-driver-x86@vger.kernel.org |
| 6100 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86.git | 6214 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86.git |
| 6101 | S: Maintained | 6215 | S: Maintained |
| 6102 | F: drivers/platform/x86 | 6216 | F: drivers/platform/x86 |
| 6103 | 6217 | ||
| @@ -6185,6 +6299,7 @@ F: drivers/serial/zs.* · 81 unmodified lines | |||
| 6185 | THE REST | 6299 | THE REST |
| 6186 | M: Linus Torvalds <torvalds@linux-foundation.org> | 6300 | M: Linus Torvalds <torvalds@linux-foundation.org> |
| 6187 | L: linux-kernel@vger.kernel.org | 6301 | L: linux-kernel@vger.kernel.org |
| 6302 | Q: http://patchwork.kernel.org/project/LKML/list/ | ||
| 6188 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git | 6303 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git |
| 6189 | S: Buried alive in reporters | 6304 | S: Buried alive in reporters |
| 6190 | F: * | 6305 | F: * |
| @@ -1,7 +1,7 @@ | |||
| 1 | VERSION = 2 | 1 | VERSION = 2 |
| 2 | PATCHLEVEL = 6 | 2 | PATCHLEVEL = 6 |
| 3 | SUBLEVEL = 33 | 3 | SUBLEVEL = 34 |
| 4 | EXTRAVERSION = | 4 | EXTRAVERSION = -rc3 |
| 5 | NAME = Man-Eating Seals of Antiquity | 5 | NAME = Man-Eating Seals of Antiquity |
| 6 | 6 | ||
| 7 | # *DOCUMENTATION* | 7 | # *DOCUMENTATION* |
| @@ -41,6 +41,17 @@ config KPROBES · 40 unmodified lines | |||
| 41 | for kernel debugging, non-intrusive instrumentation and testing. | 41 | for kernel debugging, non-intrusive instrumentation and testing. |
| 42 | If in doubt, say "N". | 42 | If in doubt, say "N". |
| 43 | 43 | ||
| 44 | config OPTPROBES | ||
| 45 | bool "Kprobes jump optimization support (EXPERIMENTAL)" | ||
| 46 | default y | ||
| 47 | depends on KPROBES | ||
| 48 | depends on !PREEMPT | ||
| 49 | depends on HAVE_OPTPROBES | ||
| 50 | select KALLSYMS_ALL | ||
| 51 | help | ||
| 52 | This option will allow kprobes to optimize breakpoint to | ||
| 53 | a jump for reducing its overhead. | ||
| 54 | |||
| 44 | config HAVE_EFFICIENT_UNALIGNED_ACCESS | 55 | config HAVE_EFFICIENT_UNALIGNED_ACCESS |
| 45 | bool | 56 | bool |
| 46 | help | 57 | help |
| @@ -83,6 +94,8 @@ config HAVE_KPROBES · 36 unmodified lines | |||
| 83 | config HAVE_KRETPROBES | 94 | config HAVE_KRETPROBES |
| 84 | bool | 95 | bool |
| 85 | 96 | ||
| 97 | config HAVE_OPTPROBES | ||
| 98 | bool | ||
| 86 | # | 99 | # |
| 87 | # An arch should select this if it provides all these things: | 100 | # An arch should select this if it provides all these things: |
| 88 | # | 101 | # |
| @@ -10,6 +10,7 @@ config ALPHA · 9 unmodified lines | |||
| 10 | select HAVE_OPROFILE | 10 | select HAVE_OPROFILE |
| 11 | select HAVE_SYSCALL_WRAPPERS | 11 | select HAVE_SYSCALL_WRAPPERS |
| 12 | select HAVE_PERF_EVENTS | 12 | select HAVE_PERF_EVENTS |
| 13 | select HAVE_DMA_ATTRS | ||
| 13 | help | 14 | help |
| 14 | The Alpha is a 64-bit general-purpose processor designed and | 15 | The Alpha is a 64-bit general-purpose processor designed and |
| 15 | marketed by the Digital Equipment Corporation of blessed memory, | 16 | marketed by the Digital Equipment Corporation of blessed memory, |
| @@ -58,6 +59,9 @@ config ZONE_DMA · 42 unmodified lines | |||
| 58 | bool | 59 | bool |
| 59 | default y | 60 | default y |
| 60 | 61 | ||
| 62 | config NEED_DMA_MAP_STATE | ||
| 63 | def_bool y | ||
| 64 | |||
| 61 | config GENERIC_ISA_DMA | 65 | config GENERIC_ISA_DMA |
| 62 | bool | 66 | bool |
| 63 | default y | 67 | default y |
| @@ -12,7 +12,6 @@ · 11 unmodified lines | |||
| 12 | #define __ALPHA_MARVEL__H__ | 12 | #define __ALPHA_MARVEL__H__ |
| 13 | 13 | ||
| 14 | #include <linux/types.h> | 14 | #include <linux/types.h> |
| 15 | #include <linux/pci.h> | ||
| 16 | #include <linux/spinlock.h> | 15 | #include <linux/spinlock.h> |
| 17 | 16 | ||
| 18 | #include <asm/compiler.h> | 17 | #include <asm/compiler.h> |
| @@ -6,7 +6,6 @@ · 5 unmodified lines | |||
| 6 | #define MCPCIA_ONE_HAE_WINDOW 1 | 6 | #define MCPCIA_ONE_HAE_WINDOW 1 |
| 7 | 7 | ||
| 8 | #include <linux/types.h> | 8 | #include <linux/types.h> |
| 9 | #include <linux/pci.h> | ||
| 10 | #include <asm/compiler.h> | 9 | #include <asm/compiler.h> |
| 11 | 10 | ||
| 12 | /* | 11 | /* |
| @@ -2,7 +2,6 @@ · 1 unmodified line | |||
| 2 | #define __ALPHA_TITAN__H__ | 2 | #define __ALPHA_TITAN__H__ |
| 3 | 3 | ||
| 4 | #include <linux/types.h> | 4 | #include <linux/types.h> |
| 5 | #include <linux/pci.h> | ||
| 6 | #include <asm/compiler.h> | 5 | #include <asm/compiler.h> |
| 7 | 6 | ||
| 8 | /* | 7 | /* |
| @@ -2,7 +2,6 @@ · 1 unmodified line | |||
| 2 | #define __ALPHA_TSUNAMI__H__ | 2 | #define __ALPHA_TSUNAMI__H__ |
| 3 | 3 | ||
| 4 | #include <linux/types.h> | 4 | #include <linux/types.h> |
| 5 | #include <linux/pci.h> | ||
| 6 | #include <asm/compiler.h> | 5 | #include <asm/compiler.h> |
| 7 | 6 | ||
| 8 | /* | 7 | /* |
| @@ -1,71 +1,49 @@ | |||
| 1 | #ifndef _ALPHA_DMA_MAPPING_H | 1 | #ifndef _ALPHA_DMA_MAPPING_H |
| 2 | #define _ALPHA_DMA_MAPPING_H | 2 | #define _ALPHA_DMA_MAPPING_H |
| 3 | 3 | ||
| 4 | #include <linux/dma-attrs.h> | ||
| 4 | 5 | ||
| 5 | #ifdef CONFIG_PCI | 6 | extern struct dma_map_ops *dma_ops; |
| 6 | 7 | ||
| 7 | #include <linux/pci.h> | 8 | static inline struct dma_map_ops *get_dma_ops(struct device *dev) |
| 9 | { | ||
| 10 | return dma_ops; | ||
| 11 | } | ||
| 8 | 12 | ||
| 9 | #define dma_map_single(dev, va, size, dir) \ | 13 | #include <asm-generic/dma-mapping-common.h> |
| 10 | pci_map_single(alpha_gendev_to_pci(dev), va, size, dir) | ||
| 11 | #define dma_unmap_single(dev, addr, size, dir) \ | ||
| 12 | pci_unmap_single(alpha_gendev_to_pci(dev), addr, size, dir) | ||
| 13 | #define dma_alloc_coherent(dev, size, addr, gfp) \ | ||
| 14 | __pci_alloc_consistent(alpha_gendev_to_pci(dev), size, addr, gfp) | ||
| 15 | #define dma_free_coherent(dev, size, va, addr) \ | ||
| 16 | pci_free_consistent(alpha_gendev_to_pci(dev), size, va, addr) | ||
| 17 | #define dma_map_page(dev, page, off, size, dir) \ | ||
| 18 | pci_map_page(alpha_gendev_to_pci(dev), page, off, size, dir) | ||
| 19 | #define dma_unmap_page(dev, addr, size, dir) \ | ||
| 20 | pci_unmap_page(alpha_gendev_to_pci(dev), addr, size, dir) | ||
| 21 | #define dma_map_sg(dev, sg, nents, dir) \ | ||
| 22 | pci_map_sg(alpha_gendev_to_pci(dev), sg, nents, dir) | ||
| 23 | #define dma_unmap_sg(dev, sg, nents, dir) \ | ||
| 24 | pci_unmap_sg(alpha_gendev_to_pci(dev), sg, nents, dir) | ||
| 25 | #define dma_supported(dev, mask) \ | ||
| 26 | pci_dma_supported(alpha_gendev_to_pci(dev), mask) | ||
| 27 | #define dma_mapping_error(dev, addr) \ | ||
| 28 | pci_dma_mapping_error(alpha_gendev_to_pci(dev), addr) | ||
| 29 | 14 | ||
| 30 | #else /* no PCI - no IOMMU. */ | 15 | static inline void *dma_alloc_coherent(struct device *dev, size_t size, |
| 16 | dma_addr_t *dma_handle, gfp_t gfp) | ||
| 17 | { | ||
| 18 | return get_dma_ops(dev)->alloc_coherent(dev, size, dma_handle, gfp); | ||
| 19 | } | ||
| 31 | 20 | ||
| 32 | #include <asm/io.h> /* for virt_to_phys() */ | 21 | static inline void dma_free_coherent(struct device *dev, size_t size, |
| 22 | void *vaddr, dma_addr_t dma_handle) | ||
| 23 | { | ||
| 24 | get_dma_ops(dev)->free_coherent(dev, size, vaddr, dma_handle); | ||
| 25 | } | ||
| 33 | 26 | ||
| 34 | struct scatterlist; | 27 | static inline int dma_mapping_error(struct device *dev, dma_addr_t dma_addr) |
| 35 | void *dma_alloc_coherent(struct device *dev, size_t size, | 28 | { |
| 36 | dma_addr_t *dma_handle, gfp_t gfp); | 29 | return get_dma_ops(dev)->mapping_error(dev, dma_addr); |
| 37 | int dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, | 30 | } |
| 38 | enum dma_data_direction direction); | ||
| 39 | 31 | ||
| 40 | #define dma_free_coherent(dev, size, va, addr) \ | 32 | static inline int dma_supported(struct device *dev, u64 mask) |
| 41 | free_pages((unsigned long)va, get_order(size)) | 33 | { |
| 42 | #define dma_supported(dev, mask) (mask < 0x00ffffffUL ? 0 : 1) | 34 | return get_dma_ops(dev)->dma_supported(dev, mask); |
| 43 | #define dma_map_single(dev, va, size, dir) virt_to_phys(va) | 35 | } |
| 44 | #define dma_map_page(dev, page, off, size, dir) (page_to_pa(page) + off) | ||
| 45 | 36 | ||
| 46 | #define dma_unmap_single(dev, addr, size, dir) ((void)0) | 37 | static inline int dma_set_mask(struct device *dev, u64 mask) |
| 47 | #define dma_unmap_page(dev, addr, size, dir) ((void)0) | 38 | { |
| 48 | #define dma_unmap_sg(dev, sg, nents, dir) ((void)0) | 39 | return get_dma_ops(dev)->set_dma_mask(dev, mask); |
| 49 | 40 | } | |
| 50 | #define dma_mapping_error(dev, addr) (0) | ||
| 51 | |||
| 52 | #endif /* !CONFIG_PCI */ | ||
| 53 | 41 | ||
| 54 | #define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f) | 42 | #define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f) |
| 55 | #define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h) | 43 | #define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h) |
| 56 | #define dma_is_consistent(d, h) (1) | 44 | #define dma_is_consistent(d, h) (1) |
| 57 | 45 | ||
| 58 | int dma_set_mask(struct device *dev, u64 mask); | ||
| 59 | |||
| 60 | #define dma_sync_single_for_cpu(dev, addr, size, dir) ((void)0) | ||
| 61 | #define dma_sync_single_for_device(dev, addr, size, dir) ((void)0) | ||
| 62 | #define dma_sync_single_range(dev, addr, off, size, dir) ((void)0) | ||
| 63 | #define dma_sync_sg_for_cpu(dev, sg, nents, dir) ((void)0) | ||
| 64 | #define dma_sync_sg_for_device(dev, sg, nents, dir) ((void)0) | ||
| 65 | #define dma_cache_sync(dev, va, size, dir) ((void)0) | 46 | #define dma_cache_sync(dev, va, size, dir) ((void)0) |
| 66 | #define dma_sync_single_range_for_cpu(dev, addr, offset, size, dir) ((void)0) | ||
| 67 | #define dma_sync_single_range_for_device(dev, addr, offset, size, dir) ((void)0) | ||
| 68 | |||
| 69 | #define dma_get_cache_alignment() L1_CACHE_BYTES | 47 | #define dma_get_cache_alignment() L1_CACHE_BYTES |
| 70 | 48 | ||
| 71 | #endif /* _ALPHA_DMA_MAPPING_H */ | 49 | #endif /* _ALPHA_DMA_MAPPING_H */ |
| @@ -70,142 +70,11 @@ extern inline void pcibios_penalize_isa_irq(int irq, int active) · 69 unmodified lines | |||
| 70 | decisions. */ | 70 | decisions. */ |
| 71 | #define PCI_DMA_BUS_IS_PHYS 0 | 71 | #define PCI_DMA_BUS_IS_PHYS 0 |
| 72 | 72 | ||
| 73 | /* Allocate and map kernel buffer using consistent mode DMA for PCI | 73 | #ifdef CONFIG_PCI |
| 74 | device. Returns non-NULL cpu-view pointer to the buffer if | ||
| 75 | successful and sets *DMA_ADDRP to the pci side dma address as well, | ||
| 76 | else DMA_ADDRP is undefined. */ | ||
| 77 | |||
| 78 | extern void *__pci_alloc_consistent(struct pci_dev *, size_t, | ||
| 79 | dma_addr_t *, gfp_t); | ||
| 80 | static inline void * | ||
| 81 | pci_alloc_consistent(struct pci_dev *dev, size_t size, dma_addr_t *dma) | ||
| 82 | { | ||
| 83 | return __pci_alloc_consistent(dev, size, dma, GFP_ATOMIC); | ||
| 84 | } | ||
| 85 | |||
| 86 | /* Free and unmap a consistent DMA buffer. CPU_ADDR and DMA_ADDR must | ||
| 87 | be values that were returned from pci_alloc_consistent. SIZE must | ||
| 88 | be the same as what as passed into pci_alloc_consistent. | ||
| 89 | References to the memory and mappings associated with CPU_ADDR or | ||
| 90 | DMA_ADDR past this call are illegal. */ | ||
| 91 | |||
| 92 | extern void pci_free_consistent(struct pci_dev *, size_t, void *, dma_addr_t); | ||
| 93 | |||
| 94 | /* Map a single buffer of the indicate size for PCI DMA in streaming mode. | ||
| 95 | The 32-bit PCI bus mastering address to use is returned. Once the device | ||
| 96 | is given the dma address, the device owns this memory until either | ||
| 97 | pci_unmap_single or pci_dma_sync_single_for_cpu is performed. */ | ||
| 98 | |||
| 99 | extern dma_addr_t pci_map_single(struct pci_dev *, void *, size_t, int); | ||
| 100 | |||
| 101 | /* Likewise, but for a page instead of an address. */ | ||
| 102 | extern dma_addr_t pci_map_page(struct pci_dev *, struct page *, | ||
| 103 | unsigned long, size_t, int); | ||
| 104 | |||
| 105 | /* Test for pci_map_single or pci_map_page having generated an error. */ | ||
| 106 | |||
| 107 | static inline int | ||
| 108 | pci_dma_mapping_error(struct pci_dev *pdev, dma_addr_t dma_addr) | ||
| 109 | { | ||
| 110 | return dma_addr == 0; | ||
| 111 | } | ||
| 112 | |||
| 113 | /* Unmap a single streaming mode DMA translation. The DMA_ADDR and | ||
| 114 | SIZE must match what was provided for in a previous pci_map_single | ||
| 115 | call. All other usages are undefined. After this call, reads by | ||
| 116 | the cpu to the buffer are guaranteed to see whatever the device | ||
| 117 | wrote there. */ | ||
| 118 | |||
| 119 | extern void pci_unmap_single(struct pci_dev *, dma_addr_t, size_t, int); | ||
| 120 | extern void pci_unmap_page(struct pci_dev *, dma_addr_t, size_t, int); | ||
| 121 | |||
| 122 | /* pci_unmap_{single,page} is not a nop, thus... */ | ||
| 123 | #define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME) \ | ||
| 124 | dma_addr_t ADDR_NAME; | ||
| 125 | #define DECLARE_PCI_UNMAP_LEN(LEN_NAME) \ | ||
| 126 | __u32 LEN_NAME; | ||
| 127 | #define pci_unmap_addr(PTR, ADDR_NAME) \ | ||
| 128 | ((PTR)->ADDR_NAME) | ||
| 129 | #define pci_unmap_addr_set(PTR, ADDR_NAME, VAL) \ | ||
| 130 | (((PTR)->ADDR_NAME) = (VAL)) | ||
| 131 | #define pci_unmap_len(PTR, LEN_NAME) \ | ||
| 132 | ((PTR)->LEN_NAME) | ||
| 133 | #define pci_unmap_len_set(PTR, LEN_NAME, VAL) \ | ||
| 134 | (((PTR)->LEN_NAME) = (VAL)) | ||
| 135 | |||
| 136 | /* Map a set of buffers described by scatterlist in streaming mode for | ||
| 137 | PCI DMA. This is the scatter-gather version of the above | ||
| 138 | pci_map_single interface. Here the scatter gather list elements | ||
| 139 | are each tagged with the appropriate PCI dma address and length. | ||
| 140 | They are obtained via sg_dma_{address,length}(SG). | ||
| 141 | |||
| 142 | NOTE: An implementation may be able to use a smaller number of DMA | ||
| 143 | address/length pairs than there are SG table elements. (for | ||
| 144 | example via virtual mapping capabilities) The routine returns the | ||
| 145 | number of addr/length pairs actually used, at most nents. | ||
| 146 | |||
| 147 | Device ownership issues as mentioned above for pci_map_single are | ||
| 148 | the same here. */ | ||
| 149 | |||
| 150 | extern int pci_map_sg(struct pci_dev *, struct scatterlist *, int, int); | ||
| 151 | |||
| 152 | /* Unmap a set of streaming mode DMA translations. Again, cpu read | ||
| 153 | rules concerning calls here are the same as for pci_unmap_single() | ||
| 154 | above. */ | ||
| 155 | |||
| 156 | extern void pci_unmap_sg(struct pci_dev *, struct scatterlist *, int, int); | ||
| 157 | |||
| 158 | /* Make physical memory consistent for a single streaming mode DMA | ||
| 159 | translation after a transfer and device currently has ownership | ||
| 160 | of the buffer. | ||
| 161 | |||
| 162 | If you perform a pci_map_single() but wish to interrogate the | ||
| 163 | buffer using the cpu, yet do not wish to teardown the PCI dma | ||
| 164 | mapping, you must call this function before doing so. At the next | ||
| 165 | point you give the PCI dma address back to the card, you must first | ||
| 166 | perform a pci_dma_sync_for_device, and then the device again owns | ||
| 167 | the buffer. */ | ||
| 168 | |||
| 169 | static inline void | ||
| 170 | pci_dma_sync_single_for_cpu(struct pci_dev *dev, dma_addr_t dma_addr, | ||
| 171 | long size, int direction) | ||
| 172 | { | ||
| 173 | /* Nothing to do. */ | ||
| 174 | } | ||
| 175 | |||
| 176 | static inline void | ||
| 177 | pci_dma_sync_single_for_device(struct pci_dev *dev, dma_addr_t dma_addr, | ||
| 178 | size_t size, int direction) | ||
| 179 | { | ||
| 180 | /* Nothing to do. */ | ||
| 181 | } | ||
| 182 | |||
| 183 | /* Make physical memory consistent for a set of streaming mode DMA | ||
| 184 | translations after a transfer. The same as pci_dma_sync_single_* | ||
| 185 | but for a scatter-gather list, same rules and usage. */ | ||
| 186 | |||
| 187 | static inline void | ||
| 188 | pci_dma_sync_sg_for_cpu(struct pci_dev *dev, struct scatterlist *sg, | ||
| 189 | int nents, int direction) | ||
| 190 | { | ||
| 191 | /* Nothing to do. */ | ||
| 192 | } | ||
| 193 | |||
| 194 | static inline void | ||
| 195 | pci_dma_sync_sg_for_device(struct pci_dev *dev, struct scatterlist *sg, | ||
| 196 | int nents, int direction) | ||
| 197 | { | ||
| 198 | /* Nothing to do. */ | ||
| 199 | } | ||
| 200 | |||
| 201 | /* Return whether the given PCI device DMA address mask can | ||
| 202 | be supported properly. For example, if your device can | ||
| 203 | only drive the low 24-bits during PCI bus mastering, then | ||
| 204 | you would pass 0x00ffffff as the mask to this function. */ | ||
| 205 | 74 | ||
| 206 | extern int pci_dma_supported(struct pci_dev *hwdev, u64 mask); | 75 | /* implement the pci_ DMA API in terms of the generic device dma_ one */ |
| 76 | #include <asm-generic/pci-dma-compat.h> | ||
| 207 | 77 | ||
| 208 | #ifdef CONFIG_PCI | ||
| 209 | static inline void pci_dma_burst_advice(struct pci_dev *pdev, | 78 | static inline void pci_dma_burst_advice(struct pci_dev *pdev, |
| 210 | enum pci_dma_burst_strategy *strat, | 79 | enum pci_dma_burst_strategy *strat, |
| 211 | unsigned long *strategy_parameter) | 80 | unsigned long *strategy_parameter) |
| @@ -244,8 +113,6 @@ static inline int pci_proc_domain(struct pci_bus *bus) · 32 unmodified lines | |||
| 244 | return hose->need_domain_info; | 113 | return hose->need_domain_info; |
| 245 | } | 114 | } |
| 246 | 115 | ||
| 247 | struct pci_dev *alpha_gendev_to_pci(struct device *dev); | ||
| 248 | |||
| 249 | #endif /* __KERNEL__ */ | 116 | #endif /* __KERNEL__ */ |
| 250 | 117 | ||
| 251 | /* Values for the `which' argument to sys_pciconfig_iobase. */ | 118 | /* Values for the `which' argument to sys_pciconfig_iobase. */ |
| @@ -68,6 +68,7 @@ struct switch_stack { · 67 unmodified lines | |||
| 68 | 68 | ||
| 69 | #ifdef __KERNEL__ | 69 | #ifdef __KERNEL__ |
| 70 | 70 | ||
| 71 | #define arch_has_single_step() (1) | ||
| 71 | #define user_mode(regs) (((regs)->ps & 8) != 0) | 72 | #define user_mode(regs) (((regs)->ps & 8) != 0) |
| 72 | #define instruction_pointer(regs) ((regs)->pc) | 73 | #define instruction_pointer(regs) ((regs)->pc) |
| 73 | #define profile_pc(regs) instruction_pointer(regs) | 74 | #define profile_pc(regs) instruction_pointer(regs) |
| @@ -361,7 +361,7 @@ osf_procfs_mount(char *dirname, struct procfs_args __user *args, int flags) · 360 unmodified lines | |||
| 361 | SYSCALL_DEFINE4(osf_mount, unsigned long, typenr, char __user *, path, | 361 | SYSCALL_DEFINE4(osf_mount, unsigned long, typenr, char __user *, path, |
| 362 | int, flag, void __user *, data) | 362 | int, flag, void __user *, data) |
| 363 | { | 363 | { |
| 364 | int retval = -EINVAL; | 364 | int retval; |
| 365 | char *name; | 365 | char *name; |
| 366 | 366 | ||
| 367 | name = getname(path); | 367 | name = getname(path); |
| @@ -379,6 +379,7 @@ SYSCALL_DEFINE4(osf_mount, unsigned long, typenr, char __user *, path, · 11 unmodified lines | |||
| 379 | retval = osf_procfs_mount(name, data, flag); | 379 | retval = osf_procfs_mount(name, data, flag); |
| 380 | break; | 380 | break; |
| 381 | default: | 381 | default: |
| 382 | retval = -EINVAL; | ||
| 382 | printk("osf_mount(%ld, %x)\n", typenr, flag); | 383 | printk("osf_mount(%ld, %x)\n", typenr, flag); |
| 383 | } | 384 | } |
| 384 | putname(name); | 385 | putname(name); |
| @@ -106,58 +106,8 @@ sys_pciconfig_write(unsigned long bus, unsigned long dfn, · 105 unmodified lines | |||
| 106 | return -ENODEV; | 106 | return -ENODEV; |
| 107 | } | 107 | } |
| 108 | 108 | ||
| 109 | /* Stubs for the routines in pci_iommu.c: */ | 109 | static void *alpha_noop_alloc_coherent(struct device *dev, size_t size, |
| 110 | 110 | dma_addr_t *dma_handle, gfp_t gfp) | |
| 111 | void * | ||
| 112 | __pci_alloc_consistent(struct pci_dev *pdev, size_t size, | ||
| 113 | dma_addr_t *dma_addrp, gfp_t gfp) | ||
| 114 | { | ||
| 115 | return NULL; | ||
| 116 | } | ||
| 117 | |||
| 118 | void | ||
| 119 | pci_free_consistent(struct pci_dev *pdev, size_t size, void *cpu_addr, | ||
| 120 | dma_addr_t dma_addr) | ||
| 121 | { | ||
| 122 | } | ||
| 123 | |||
| 124 | dma_addr_t | ||
| 125 | pci_map_single(struct pci_dev *pdev, void *cpu_addr, size_t size, | ||
| 126 | int direction) | ||
| 127 | { | ||
| 128 | return (dma_addr_t) 0; | ||
| 129 | } | ||
| 130 | |||
| 131 | void | ||
| 132 | pci_unmap_single(struct pci_dev *pdev, dma_addr_t dma_addr, size_t size, | ||
| 133 | int direction) | ||
| 134 | { | ||
| 135 | } | ||
| 136 | |||
| 137 | int | ||
| 138 | pci_map_sg(struct pci_dev *pdev, struct scatterlist *sg, int nents, | ||
| 139 | int direction) | ||
| 140 | { | ||
| 141 | return 0; | ||
| 142 | } | ||
| 143 | |||
| 144 | void | ||
| 145 | pci_unmap_sg(struct pci_dev *pdev, struct scatterlist *sg, int nents, | ||
| 146 | int direction) | ||
| 147 | { | ||
| 148 | } | ||
| 149 | |||
| 150 | int | ||
| 151 | pci_dma_supported(struct pci_dev *hwdev, dma_addr_t mask) | ||
| 152 | { | ||
| 153 | return 0; | ||
| 154 | } | ||
| 155 | |||
| 156 | /* Generic DMA mapping functions: */ | ||
| 157 | |||
| 158 | void * | ||
| 159 | dma_alloc_coherent(struct device *dev, size_t size, | ||
| 160 | dma_addr_t *dma_handle, gfp_t gfp) | ||
| 161 | { | 111 | { |
| 162 | void *ret; | 112 | void *ret; |
| 163 | 113 | ||
| @@ -171,11 +121,22 @@ dma_alloc_coherent(struct device *dev, size_t size, · 7 unmodified lines | |||
| 171 | return ret; | 121 | return ret; |
| 172 | } | 122 | } |
| 173 | 123 | ||
| 174 | EXPORT_SYMBOL(dma_alloc_coherent); | 124 | static void alpha_noop_free_coherent(struct device *dev, size_t size, |
| 125 | void *cpu_addr, dma_addr_t dma_addr) | ||
| 126 | { | ||
| 127 | free_pages((unsigned long)cpu_addr, get_order(size)); | ||
| 128 | } | ||
| 129 | |||
| 130 | static dma_addr_t alpha_noop_map_page(struct device *dev, struct page *page, | ||
| 131 | unsigned long offset, size_t size, | ||
| 132 | enum dma_data_direction dir, | ||
| 133 | struct dma_attrs *attrs) | ||
| 134 | { | ||
| 135 | return page_to_pa(page) + offset; | ||
| 136 | } | ||
| 175 | 137 | ||
| 176 | int | 138 | static int alpha_noop_map_sg(struct device *dev, struct scatterlist *sgl, int nents, |
| 177 | dma_map_sg(struct device *dev, struct scatterlist *sgl, int nents, | 139 | enum dma_data_direction dir, struct dma_attrs *attrs) |
| 178 | enum dma_data_direction direction) | ||
| 179 | { | 140 | { |
| 180 | int i; | 141 | int i; |
| 181 | struct scatterlist *sg; | 142 | struct scatterlist *sg; |
| @@ -192,19 +153,37 @@ dma_map_sg(struct device *dev, struct scatterlist *sgl, int nents, · 10 unmodified lines | |||
| 192 | return nents; | 153 | return nents; |
| 193 | } | 154 | } |
| 194 | 155 | ||
| 195 | EXPORT_SYMBOL(dma_map_sg); | 156 | static int alpha_noop_mapping_error(struct device *dev, dma_addr_t dma_addr) |
| 157 | { | ||
| 158 | return 0; | ||
| 159 | } | ||
| 160 | |||
| 161 | static int alpha_noop_supported(struct device *dev, u64 mask) | ||
| 162 | { | ||
| 163 | return mask < 0x00ffffffUL ? 0 : 1; | ||
| 164 | } | ||
| 196 | 165 | ||
| 197 | int | 166 | static int alpha_noop_set_mask(struct device *dev, u64 mask) |
| 198 | dma_set_mask(struct device *dev, u64 mask) | ||
| 199 | { | 167 | { |
| 200 | if (!dev->dma_mask || !dma_supported(dev, mask)) | 168 | if (!dev->dma_mask || !dma_supported(dev, mask)) |
| 201 | return -EIO; | 169 | return -EIO; |
| 202 | 170 | ||
| 203 | *dev->dma_mask = mask; | 171 | *dev->dma_mask = mask; |
| 204 | |||
| 205 | return 0; | 172 | return 0; |
| 206 | } | 173 | } |
| 207 | EXPORT_SYMBOL(dma_set_mask); | 174 | |
| 175 | struct dma_map_ops alpha_noop_ops = { | ||
| 176 | .alloc_coherent = alpha_noop_alloc_coherent, | ||
| 177 | .free_coherent = alpha_noop_free_coherent, | ||
| 178 | .map_page = alpha_noop_map_page, | ||
| 179 | .map_sg = alpha_noop_map_sg, | ||
| 180 | .mapping_error = alpha_noop_mapping_error, | ||
| 181 | .dma_supported = alpha_noop_supported, | ||
| 182 | .set_dma_mask = alpha_noop_set_mask, | ||
| 183 | }; | ||
| 184 | |||
| 185 | struct dma_map_ops *dma_ops = &alpha_noop_ops; | ||
| 186 | EXPORT_SYMBOL(dma_ops); | ||
| 208 | 187 | ||
| 209 | void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen) | 188 | void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen) |
| 210 | { | 189 | { |
| @@ -216,10 +216,30 @@ iommu_arena_free(struct pci_iommu_arena *arena, long ofs, long n) · 215 unmodified lines | |||
| 216 | for (i = 0; i < n; ++i) | 216 | for (i = 0; i < n; ++i) |
| 217 | p[i] = 0; | 217 | p[i] = 0; |
| 218 | } | 218 | } |
| 219 | 219 | ||
| 220 | /* True if the machine supports DAC addressing, and DEV can | 220 | /* |
| 221 | make use of it given MASK. */ | 221 | * True if the machine supports DAC addressing, and DEV can |
| 222 | static int pci_dac_dma_supported(struct pci_dev *hwdev, u64 mask); | 222 | * make use of it given MASK. |
| 223 | */ | ||
| 224 | static int pci_dac_dma_supported(struct pci_dev *dev, u64 mask) | ||
| 225 | { | ||
| 226 | dma64_addr_t dac_offset = alpha_mv.pci_dac_offset; | ||
| 227 | int ok = 1; | ||
| 228 | |||
| 229 | /* If this is not set, the machine doesn't support DAC at all. */ | ||
| 230 | if (dac_offset == 0) | ||
| 231 | ok = 0; | ||
| 232 | |||
| 233 | /* The device has to be able to address our DAC bit. */ | ||
| 234 | if ((dac_offset & dev->dma_mask) != dac_offset) | ||
| 235 | ok = 0; | ||
| 236 | |||
| 237 | /* If both conditions above are met, we are fine. */ | ||
| 238 | DBGA("pci_dac_dma_supported %s from %p\n", | ||
| 239 | ok ? "yes" : "no", __builtin_return_address(0)); | ||
| 240 | |||
| 241 | return ok; | ||
| 242 | } | ||
| 223 | 243 | ||
| 224 | /* Map a single buffer of the indicated size for PCI DMA in streaming | 244 | /* Map a single buffer of the indicated size for PCI DMA in streaming |
| 225 | mode. The 32-bit PCI bus mastering address to use is returned. | 245 | mode. The 32-bit PCI bus mastering address to use is returned. |
| @@ -301,23 +321,36 @@ pci_map_single_1(struct pci_dev *pdev, void *cpu_addr, size_t size, · 75 unmodified lines | |||
| 301 | return ret; | 321 | return ret; |
| 302 | } | 322 | } |
| 303 | 323 | ||
| 304 | dma_addr_t | 324 | /* Helper for generic DMA-mapping functions. */ |
| 305 | pci_map_single(struct pci_dev *pdev, void *cpu_addr, size_t size, int dir) | 325 | static struct pci_dev *alpha_gendev_to_pci(struct device *dev) |
| 306 | { | 326 | { |
| 307 | int dac_allowed; | 327 | if (dev && dev->bus == &pci_bus_type) |
| 328 | return to_pci_dev(dev); | ||
| 308 | 329 | ||
| 309 | if (dir == PCI_DMA_NONE) | 330 | /* Assume that non-PCI devices asking for DMA are either ISA or EISA, |
| 310 | BUG(); | 331 | BUG() otherwise. */ |
| 332 | BUG_ON(!isa_bridge); | ||
| 311 | 333 | ||
| 312 | dac_allowed = pdev ? pci_dac_dma_supported(pdev, pdev->dma_mask) : 0; | 334 | /* Assume non-busmaster ISA DMA when dma_mask is not set (the ISA |
| 313 | return pci_map_single_1(pdev, cpu_addr, size, dac_allowed); | 335 | bridge is bus master then). */ |
| 336 | if (!dev || !dev->dma_mask || !*dev->dma_mask) | ||
| 337 | return isa_bridge; | ||
| 338 | |||
| 339 | /* For EISA bus masters, return isa_bridge (it might have smaller | ||
| 340 | dma_mask due to wiring limitations). */ | ||
| 341 | if (*dev->dma_mask >= isa_bridge->dma_mask) | ||
| 342 | return isa_bridge; | ||
| 343 | |||
| 344 | /* This assumes ISA bus master with dma_mask 0xffffff. */ | ||
| 345 | return NULL; | ||
| 314 | } | 346 | } |
| 315 | EXPORT_SYMBOL(pci_map_single); | ||
| 316 | 347 | ||
| 317 | dma_addr_t | 348 | static dma_addr_t alpha_pci_map_page(struct device *dev, struct page *page, |
| 318 | pci_map_page(struct pci_dev *pdev, struct page *page, unsigned long offset, | 349 | unsigned long offset, size_t size, |
| 319 | size_t size, int dir) | 350 | enum dma_data_direction dir, |
| 351 | struct dma_attrs *attrs) | ||
| 320 | { | 352 | { |
| 353 | struct pci_dev *pdev = alpha_gendev_to_pci(dev); | ||
| 321 | int dac_allowed; | 354 | int dac_allowed; |
| 322 | 355 | ||
| 323 | if (dir == PCI_DMA_NONE) | 356 | if (dir == PCI_DMA_NONE) |
| @@ -327,7 +360,6 @@ pci_map_page(struct pci_dev *pdev, struct page *page, unsigned long offset, · 3 unmodified lines | |||
| 327 | return pci_map_single_1(pdev, (char *)page_address(page) + offset, | 360 | return pci_map_single_1(pdev, (char *)page_address(page) + offset, |
| 328 | size, dac_allowed); | 361 | size, dac_allowed); |
| 329 | } | 362 | } |
| 330 | EXPORT_SYMBOL(pci_map_page); | ||
| 331 | 363 | ||
| 332 | /* Unmap a single streaming mode DMA translation. The DMA_ADDR and | 364 | /* Unmap a single streaming mode DMA translation. The DMA_ADDR and |
| 333 | SIZE must match what was provided for in a previous pci_map_single | 365 | SIZE must match what was provided for in a previous pci_map_single |
| @@ -335,16 +367,17 @@ EXPORT_SYMBOL(pci_map_page); · 1 unmodified line | |||
| 335 | the cpu to the buffer are guaranteed to see whatever the device | 367 | the cpu to the buffer are guaranteed to see whatever the device |
| 336 | wrote there. */ | 368 | wrote there. */ |
| 337 | 369 | ||
| 338 | void | 370 | static void alpha_pci_unmap_page(struct device *dev, dma_addr_t dma_addr, |
| 339 | pci_unmap_single(struct pci_dev *pdev, dma_addr_t dma_addr, size_t size, | 371 | size_t size, enum dma_data_direction dir, |
| 340 | int direction) | 372 | struct dma_attrs *attrs) |
| 341 | { | 373 | { |
| 342 | unsigned long flags; | 374 | unsigned long flags; |
| 375 | struct pci_dev *pdev = alpha_gendev_to_pci(dev); | ||
| 343 | struct pci_controller *hose = pdev ? pdev->sysdata : pci_isa_hose; | 376 | struct pci_controller *hose = pdev ? pdev->sysdata : pci_isa_hose; |
| 344 | struct pci_iommu_arena *arena; | 377 | struct pci_iommu_arena *arena; |
| 345 | long dma_ofs, npages; | 378 | long dma_ofs, npages; |
| 346 | 379 | ||
| 347 | if (direction == PCI_DMA_NONE) | 380 | if (dir == PCI_DMA_NONE) |
| 348 | BUG(); | 381 | BUG(); |
| 349 | 382 | ||
| 350 | if (dma_addr >= __direct_map_base | 383 | if (dma_addr >= __direct_map_base |
| @@ -393,25 +426,16 @@ pci_unmap_single(struct pci_dev *pdev, dma_addr_t dma_addr, size_t size, · 42 unmodified lines | |||
| 393 | DBGA2("pci_unmap_single: sg [%llx,%zx] np %ld from %p\n", | 426 | DBGA2("pci_unmap_single: sg [%llx,%zx] np %ld from %p\n", |
| 394 | dma_addr, size, npages, __builtin_return_address(0)); | 427 | dma_addr, size, npages, __builtin_return_address(0)); |
| 395 | } | 428 | } |
| 396 | EXPORT_SYMBOL(pci_unmap_single); | ||
| 397 | |||
| 398 | void | ||
| 399 | pci_unmap_page(struct pci_dev *pdev, dma_addr_t dma_addr, | ||
| 400 | size_t size, int direction) | ||
| 401 | { | ||
| 402 | pci_unmap_single(pdev, dma_addr, size, direction); | ||
| 403 | } | ||
| 404 | EXPORT_SYMBOL(pci_unmap_page); | ||
| 405 | 429 | ||
| 406 | /* Allocate and map kernel buffer using consistent mode DMA for PCI | 430 | /* Allocate and map kernel buffer using consistent mode DMA for PCI |
| 407 | device. Returns non-NULL cpu-view pointer to the buffer if | 431 | device. Returns non-NULL cpu-view pointer to the buffer if |
| 408 | successful and sets *DMA_ADDRP to the pci side dma address as well, | 432 | successful and sets *DMA_ADDRP to the pci side dma address as well, |
| 409 | else DMA_ADDRP is undefined. */ | 433 | else DMA_ADDRP is undefined. */ |
| 410 | 434 | ||
| 411 | void * | 435 | static void *alpha_pci_alloc_coherent(struct device *dev, size_t size, |
| 412 | __pci_alloc_consistent(struct pci_dev *pdev, size_t size, | 436 | dma_addr_t *dma_addrp, gfp_t gfp) |
| 413 | dma_addr_t *dma_addrp, gfp_t gfp) | ||
| 414 | { | 437 | { |
| 438 | struct pci_dev *pdev = alpha_gendev_to_pci(dev); | ||
| 415 | void *cpu_addr; | 439 | void *cpu_addr; |
| 416 | long order = get_order(size); | 440 | long order = get_order(size); |
| 417 | 441 | ||
| @@ -439,13 +463,12 @@ try_again: · 21 unmodified lines | |||
| 439 | gfp |= GFP_DMA; | 463 | gfp |= GFP_DMA; |
| 440 | goto try_again; | 464 | goto try_again; |
| 441 | } | 465 | } |
| 442 | 466 | ||
| 443 | DBGA2("pci_alloc_consistent: %zx -> [%p,%llx] from %p\n", | 467 | DBGA2("pci_alloc_consistent: %zx -> [%p,%llx] from %p\n", |
| 444 | size, cpu_addr, *dma_addrp, __builtin_return_address(0)); | 468 | size, cpu_addr, *dma_addrp, __builtin_return_address(0)); |
| 445 | 469 | ||
| 446 | return cpu_addr; | 470 | return cpu_addr; |
| 447 | } | 471 | } |
| 448 | EXPORT_SYMBOL(__pci_alloc_consistent); | ||
| 449 | 472 | ||
| 450 | /* Free and unmap a consistent DMA buffer. CPU_ADDR and DMA_ADDR must | 473 | /* Free and unmap a consistent DMA buffer. CPU_ADDR and DMA_ADDR must |
| 451 | be values that were returned from pci_alloc_consistent. SIZE must | 474 | be values that were returned from pci_alloc_consistent. SIZE must |
| @@ -453,17 +476,16 @@ EXPORT_SYMBOL(__pci_alloc_consistent); · 1 unmodified line | |||
| 453 | References to the memory and mappings associated with CPU_ADDR or | 476 | References to the memory and mappings associated with CPU_ADDR or |
| 454 | DMA_ADDR past this call are illegal. */ | 477 | DMA_ADDR past this call are illegal. */ |
| 455 | 478 | ||
| 456 | void | 479 | static void alpha_pci_free_coherent(struct device *dev, size_t size, |
| 457 | pci_free_consistent(struct pci_dev *pdev, size_t size, void *cpu_addr, | 480 | void *cpu_addr, dma_addr_t dma_addr) |
| 458 | dma_addr_t dma_addr) | ||
| 459 | { | 481 | { |
| 482 | struct pci_dev *pdev = alpha_gendev_to_pci(dev); | ||
| 460 | pci_unmap_single(pdev, dma_addr, size, PCI_DMA_BIDIRECTIONAL); | 483 | pci_unmap_single(pdev, dma_addr, size, PCI_DMA_BIDIRECTIONAL); |
| 461 | free_pages((unsigned long)cpu_addr, get_order(size)); | 484 | free_pages((unsigned long)cpu_addr, get_order(size)); |
| 462 | 485 | ||
| 463 | DBGA2("pci_free_consistent: [%llx,%zx] from %p\n", | 486 | DBGA2("pci_free_consistent: [%llx,%zx] from %p\n", |
| 464 | dma_addr, size, __builtin_return_address(0)); | 487 | dma_addr, size, __builtin_return_address(0)); |
| 465 | } | 488 | } |
| 466 | EXPORT_SYMBOL(pci_free_consistent); | ||
| 467 | 489 | ||
| 468 | /* Classify the elements of the scatterlist. Write dma_address | 490 | /* Classify the elements of the scatterlist. Write dma_address |
| 469 | of each element with: | 491 | of each element with: |
| @@ -626,23 +648,21 @@ sg_fill(struct device *dev, struct scatterlist *leader, struct scatterlist *end, · 156 unmodified lines | |||
| 626 | return 1; | 648 | return 1; |
| 627 | } | 649 | } |
| 628 | 650 | ||
| 629 | int | 651 | static int alpha_pci_map_sg(struct device *dev, struct scatterlist *sg, |
| 630 | pci_map_sg(struct pci_dev *pdev, struct scatterlist *sg, int nents, | 652 | int nents, enum dma_data_direction dir, |
| 631 | int direction) | 653 | struct dma_attrs *attrs) |
| 632 | { | 654 | { |
| 655 | struct pci_dev *pdev = alpha_gendev_to_pci(dev); | ||
| 633 | struct scatterlist *start, *end, *out; | 656 | struct scatterlist *start, *end, *out; |
| 634 | struct pci_controller *hose; | 657 | struct pci_controller *hose; |
| 635 | struct pci_iommu_arena *arena; | 658 | struct pci_iommu_arena *arena; |
| 636 | dma_addr_t max_dma; | 659 | dma_addr_t max_dma; |
| 637 | int dac_allowed; | 660 | int dac_allowed; |
| 638 | struct device *dev; | ||
| 639 | 661 | ||
| 640 | if (direction == PCI_DMA_NONE) | 662 | if (dir == PCI_DMA_NONE) |
| 641 | BUG(); | 663 | BUG(); |
| 642 | 664 | ||
| 643 | dac_allowed = pdev ? pci_dac_dma_supported(pdev, pdev->dma_mask) : 0; | 665 | dac_allowed = dev ? pci_dac_dma_supported(pdev, pdev->dma_mask) : 0; |
| 644 | |||
| 645 | dev = pdev ? &pdev->dev : NULL; | ||
| 646 | 666 | ||
| 647 | /* Fast path single entry scatterlists. */ | 667 | /* Fast path single entry scatterlists. */ |
| 648 | if (nents == 1) { | 668 | if (nents == 1) { |
| @@ -699,19 +719,19 @@ pci_map_sg(struct pci_dev *pdev, struct scatterlist *sg, int nents, · 50 unmodified lines | |||
| 699 | /* Some allocation failed while mapping the scatterlist | 719 | /* Some allocation failed while mapping the scatterlist |
| 700 | entries. Unmap them now. */ | 720 | entries. Unmap them now. */ |
| 701 | if (out > start) | 721 | if (out > start) |
| 702 | pci_unmap_sg(pdev, start, out - start, direction); | 722 | pci_unmap_sg(pdev, start, out - start, dir); |
| 703 | return 0; | 723 | return 0; |
| 704 | } | 724 | } |
| 705 | EXPORT_SYMBOL(pci_map_sg); | ||
| 706 | 725 | ||
| 707 | /* Unmap a set of streaming mode DMA translations. Again, cpu read | 726 | /* Unmap a set of streaming mode DMA translations. Again, cpu read |
| 708 | rules concerning calls here are the same as for pci_unmap_single() | 727 | rules concerning calls here are the same as for pci_unmap_single() |
| 709 | above. */ | 728 | above. */ |
| 710 | 729 | ||
| 711 | void | 730 | static void alpha_pci_unmap_sg(struct device *dev, struct scatterlist *sg, |
| 712 | pci_unmap_sg(struct pci_dev *pdev, struct scatterlist *sg, int nents, | 731 | int nents, enum dma_data_direction dir, |
| 713 | int direction) | 732 | struct dma_attrs *attrs) |
| 714 | { | 733 | { |
| 734 | struct pci_dev *pdev = alpha_gendev_to_pci(dev); | ||
| 715 | unsigned long flags; | 735 | unsigned long flags; |
| 716 | struct pci_controller *hose; | 736 | struct pci_controller *hose; |
| 717 | struct pci_iommu_arena *arena; | 737 | struct pci_iommu_arena *arena; |
| @@ -719,7 +739,7 @@ pci_unmap_sg(struct pci_dev *pdev, struct scatterlist *sg, int nents, · 1 unmodified line | |||
| 719 | dma_addr_t max_dma; | 739 | dma_addr_t max_dma; |
| 720 | dma_addr_t fbeg, fend; | 740 | dma_addr_t fbeg, fend; |
| 721 | 741 | ||
| 722 | if (direction == PCI_DMA_NONE) | 742 | if (dir == PCI_DMA_NONE) |
| 723 | BUG(); | 743 | BUG(); |
| 724 | 744 | ||
| 725 | if (! alpha_mv.mv_pci_tbi) | 745 | if (! alpha_mv.mv_pci_tbi) |
| @@ -783,15 +803,13 @@ pci_unmap_sg(struct pci_dev *pdev, struct scatterlist *sg, int nents, · 57 unmodified lines | |||
| 783 | 803 | ||
| 784 | DBGA("pci_unmap_sg: %ld entries\n", nents - (end - sg)); | 804 | DBGA("pci_unmap_sg: %ld entries\n", nents - (end - sg)); |
| 785 | } | 805 | } |
| 786 | EXPORT_SYMBOL(pci_unmap_sg); | ||
| 787 | |||
| 788 | 806 | ||
| 789 | /* Return whether the given PCI device DMA address mask can be | 807 | /* Return whether the given PCI device DMA address mask can be |
| 790 | supported properly. */ | 808 | supported properly. */ |
| 791 | 809 | ||
| 792 | int | 810 | static int alpha_pci_supported(struct device *dev, u64 mask) |
| 793 | pci_dma_supported(struct pci_dev *pdev, u64 mask) | ||
| 794 | { | 811 | { |
| 812 | struct pci_dev *pdev = alpha_gendev_to_pci(dev); | ||
| 795 | struct pci_controller *hose; | 813 | struct pci_controller *hose; |
| 796 | struct pci_iommu_arena *arena; | 814 | struct pci_iommu_arena *arena; |
| 797 | 815 | ||
| @@ -818,7 +836,6 @@ pci_dma_supported(struct pci_dev *pdev, u64 mask) · 20 unmodified lines | |||
| 818 | 836 | ||
| 819 | return 0; | 837 | return 0; |
| 820 | } | 838 | } |
| 821 | EXPORT_SYMBOL(pci_dma_supported); | ||
| 822 | 839 | ||
| 823 | 840 | ||
| 824 | /* | 841 | /* |
| @@ -918,66 +935,32 @@ iommu_unbind(struct pci_iommu_arena *arena, long pg_start, long pg_count) · 93 unmodified lines | |||
| 918 | return 0; | 935 | return 0; |
| 919 | } | 936 | } |
| 920 | 937 | ||
| 921 | /* True if the machine supports DAC addressing, and DEV can | 938 | static int alpha_pci_mapping_error(struct device *dev, dma_addr_t dma_addr) |
| 922 | make use of it given MASK. */ | ||
| 923 | |||
| 924 | static int | ||
| 925 | pci_dac_dma_supported(struct pci_dev *dev, u64 mask) | ||
| 926 | { | ||
| 927 | dma64_addr_t dac_offset = alpha_mv.pci_dac_offset; | ||
| 928 | int ok = 1; | ||
| 929 | |||
| 930 | /* If this is not set, the machine doesn't support DAC at all. */ | ||
| 931 | if (dac_offset == 0) | ||
| 932 | ok = 0; | ||
| 933 | |||
| 934 | /* The device has to be able to address our DAC bit. */ | ||
| 935 | if ((dac_offset & dev->dma_mask) != dac_offset) | ||
| 936 | ok = 0; | ||
| 937 | |||
| 938 | /* If both conditions above are met, we are fine. */ | ||
| 939 | DBGA("pci_dac_dma_supported %s from %p\n", | ||
| 940 | ok ? "yes" : "no", __builtin_return_address(0)); | ||
| 941 | |||
| 942 | return ok; | ||
| 943 | } | ||
| 944 | |||
| 945 | /* Helper for generic DMA-mapping functions. */ | ||
| 946 | |||
| 947 | struct pci_dev * | ||
| 948 | alpha_gendev_to_pci(struct device *dev) | ||
| 949 | { | 939 | { |
| 950 | if (dev && dev->bus == &pci_bus_type) | 940 | return dma_addr == 0; |
| 951 | return to_pci_dev(dev); | ||
| 952 | |||
| 953 | /* Assume that non-PCI devices asking for DMA are either ISA or EISA, | ||
| 954 | BUG() otherwise. */ | ||
| 955 | BUG_ON(!isa_bridge); | ||
| 956 | |||
| 957 | /* Assume non-busmaster ISA DMA when dma_mask is not set (the ISA | ||
| 958 | bridge is bus master then). */ | ||
| 959 | if (!dev || !dev->dma_mask || !*dev->dma_mask) | ||
| 960 | return isa_bridge; | ||
| 961 | |||
| 962 | /* For EISA bus masters, return isa_bridge (it might have smaller | ||
| 963 | dma_mask due to wiring limitations). */ | ||
| 964 | if (*dev->dma_mask >= isa_bridge->dma_mask) | ||
| 965 | return isa_bridge; | ||
| 966 | |||
| 967 | /* This assumes ISA bus master with dma_mask 0xffffff. */ | ||
| 968 | return NULL; | ||
| 969 | } | 941 | } |
| 970 | EXPORT_SYMBOL(alpha_gendev_to_pci); | ||
| 971 | 942 | ||
| 972 | int | 943 | static int alpha_pci_set_mask(struct device *dev, u64 mask) |
| 973 | dma_set_mask(struct device *dev, u64 mask) | ||
| 974 | { | 944 | { |
| 975 | if (!dev->dma_mask || | 945 | if (!dev->dma_mask || |
| 976 | !pci_dma_supported(alpha_gendev_to_pci(dev), mask)) | 946 | !pci_dma_supported(alpha_gendev_to_pci(dev), mask)) |
| 977 | return -EIO; | 947 | return -EIO; |
| 978 | 948 | ||
| 979 | *dev->dma_mask = mask; | 949 | *dev->dma_mask = mask; |
| 980 | |||
| 981 | return 0; | 950 | return 0; |
| 982 | } | 951 | } |
| 983 | EXPORT_SYMBOL(dma_set_mask); | 952 | |
| 953 | struct dma_map_ops alpha_pci_ops = { | ||
| 954 | .alloc_coherent = alpha_pci_alloc_coherent, | ||
| 955 | .free_coherent = alpha_pci_free_coherent, | ||
| 956 | .map_page = alpha_pci_map_page, | ||
| 957 | .unmap_page = alpha_pci_unmap_page, | ||
| 958 | .map_sg = alpha_pci_map_sg, | ||
| 959 | .unmap_sg = alpha_pci_unmap_sg, | ||
| 960 | .mapping_error = alpha_pci_mapping_error, | ||
| 961 | .dma_supported = alpha_pci_supported, | ||
| 962 | .set_dma_mask = alpha_pci_set_mask, | ||
| 963 | }; | ||
| 964 | |||
| 965 | struct dma_map_ops *dma_ops = &alpha_pci_ops; | ||
| 966 | EXPORT_SYMBOL(dma_ops); | ||
| @@ -249,6 +249,17 @@ ptrace_cancel_bpt(struct task_struct * child) · 248 unmodified lines | |||
| 249 | return (nsaved != 0); | 249 | return (nsaved != 0); |
| 250 | } | 250 | } |
| 251 | 251 | ||
| 252 | void user_enable_single_step(struct task_struct *child) | ||
| 253 | { | ||
| 254 | /* Mark single stepping. */ | ||
| 255 | task_thread_info(child)->bpt_nsaved = -1; | ||
| 256 | } | ||
| 257 | |||
| 258 | void user_disable_single_step(struct task_struct *child) | ||
| 259 | { | ||
| 260 | ptrace_cancel_bpt(child); | ||
| 261 | } | ||
| 262 | |||
| 252 | /* | 263 | /* |
| 253 | * Called by kernel/ptrace.c when detaching.. | 264 | * Called by kernel/ptrace.c when detaching.. |
| 254 | * | 265 | * |
| @@ -256,7 +267,7 @@ ptrace_cancel_bpt(struct task_struct * child) · 1 unmodified line | |||
| 256 | */ | 267 | */ |
| 257 | void ptrace_disable(struct task_struct *child) | 268 | void ptrace_disable(struct task_struct *child) |
| 258 | { | 269 | { |
| 259 | ptrace_cancel_bpt(child); | 270 | user_disable_single_step(child); |
| 260 | } | 271 | } |
| 261 | 272 | ||
| 262 | long arch_ptrace(struct task_struct *child, long request, long addr, long data) | 273 | long arch_ptrace(struct task_struct *child, long request, long addr, long data) |
| @@ -295,52 +306,6 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) · 32 unmodified lines | |||
| 295 | DBG(DBG_MEM, ("poke $%ld<-%#lx\n", addr, data)); | 306 | DBG(DBG_MEM, ("poke $%ld<-%#lx\n", addr, data)); |
| 296 | ret = put_reg(child, addr, data); | 307 | ret = put_reg(child, addr, data); |
| 297 | break; | 308 | break; |
| 298 | |||
| 299 | case PTRACE_SYSCALL: | ||
| 300 | /* continue and stop at next (return from) syscall */ | ||
| 301 | case PTRACE_CONT: /* restart after signal. */ | ||
| 302 | ret = -EIO; | ||
| 303 | if (!valid_signal(data)) | ||
| 304 | break; | ||
| 305 | if (request == PTRACE_SYSCALL) | ||
| 306 | set_tsk_thread_flag(child, TIF_SYSCALL_TRACE); | ||
| 307 | else | ||
| 308 | clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); | ||
| 309 | child->exit_code = data; | ||
| 310 | /* make sure single-step breakpoint is gone. */ | ||
| 311 | ptrace_cancel_bpt(child); | ||
| 312 | wake_up_process(child); | ||
| 313 | ret = 0; | ||
| 314 | break; | ||
| 315 | |||
| 316 | /* | ||
| 317 | * Make the child exit. Best I can do is send it a sigkill. | ||
| 318 | * perhaps it should be put in the status that it wants to | ||
| 319 | * exit. | ||
| 320 | */ | ||
| 321 | case PTRACE_KILL: | ||
| 322 | ret = 0; | ||
| 323 | if (child->exit_state == EXIT_ZOMBIE) | ||
| 324 | break; | ||
| 325 | child->exit_code = SIGKILL; | ||
| 326 | /* make sure single-step breakpoint is gone. */ | ||
| 327 | ptrace_cancel_bpt(child); | ||
| 328 | wake_up_process(child); | ||
| 329 | break; | ||
| 330 | |||
| 331 | case PTRACE_SINGLESTEP: /* execute single instruction. */ | ||
| 332 | ret = -EIO; | ||
| 333 | if (!valid_signal(data)) | ||
| 334 | break; | ||
| 335 | /* Mark single stepping. */ | ||
| 336 | task_thread_info(child)->bpt_nsaved = -1; | ||
| 337 | clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); | ||
| 338 | child->exit_code = data; | ||
| 339 | wake_up_process(child); | ||
| 340 | /* give it a chance to run. */ | ||
| 341 | ret = 0; | ||
| 342 | break; | ||
| 343 | |||
| 344 | default: | 309 | default: |
| 345 | ret = ptrace_request(child, request, addr, data); | 310 | ret = ptrace_request(child, request, addr, data); |
| 346 | break; | 311 | break; |
| @@ -224,7 +224,7 @@ static void · 223 unmodified lines | |||
| 224 | dp264_device_interrupt(unsigned long vector) | 224 | dp264_device_interrupt(unsigned long vector) |
| 225 | { | 225 | { |
| 226 | #if 1 | 226 | #if 1 |
| 227 | printk("dp264_device_interrupt: NOT IMPLEMENTED YET!! \n"); | 227 | printk("dp264_device_interrupt: NOT IMPLEMENTED YET!!\n"); |
| 228 | #else | 228 | #else |
| 229 | unsigned long pld; | 229 | unsigned long pld; |
| 230 | unsigned int i; | 230 | unsigned int i; |
| @@ -171,7 +171,7 @@ titan_set_irq_affinity(unsigned int irq, const struct cpumask *affinity) · 170 unmodified lines | |||
| 171 | static void | 171 | static void |
| 172 | titan_device_interrupt(unsigned long vector) | 172 | titan_device_interrupt(unsigned long vector) |
| 173 | { | 173 | { |
| 174 | printk("titan_device_interrupt: NOT IMPLEMENTED YET!! \n"); | 174 | printk("titan_device_interrupt: NOT IMPLEMENTED YET!!\n"); |
| 175 | } | 175 | } |
| 176 | 176 | ||
| 177 | static void | 177 | static void |
| @@ -17,6 +17,7 @@ · 16 unmodified lines | |||
| 17 | #include <linux/module.h> | 17 | #include <linux/module.h> |
| 18 | #include <linux/init.h> | 18 | #include <linux/init.h> |
| 19 | #include <linux/kallsyms.h> | 19 | #include <linux/kallsyms.h> |
| 20 | #include <linux/ratelimit.h> | ||
| 20 | 21 | ||
| 21 | #include <asm/gentrap.h> | 22 | #include <asm/gentrap.h> |
| 22 | #include <asm/uaccess.h> | 23 | #include <asm/uaccess.h> |
| @@ -771,8 +772,7 @@ asmlinkage void · 748 unmodified lines | |||
| 771 | do_entUnaUser(void __user * va, unsigned long opcode, | 772 | do_entUnaUser(void __user * va, unsigned long opcode, |
| 772 | unsigned long reg, struct pt_regs *regs) | 773 | unsigned long reg, struct pt_regs *regs) |
| 773 | { | 774 | { |
| 774 | static int cnt = 0; | 775 | static DEFINE_RATELIMIT_STATE(ratelimit, 5 * HZ, 5); |
| 775 | static unsigned long last_time; | ||
| 776 | 776 | ||
| 777 | unsigned long tmp1, tmp2, tmp3, tmp4; | 777 | unsigned long tmp1, tmp2, tmp3, tmp4; |
| 778 | unsigned long fake_reg, *reg_addr = &fake_reg; | 778 | unsigned long fake_reg, *reg_addr = &fake_reg; |
| @@ -783,15 +783,11 @@ do_entUnaUser(void __user * va, unsigned long opcode, · 4 unmodified lines | |||
| 783 | with the unaliged access. */ | 783 | with the unaliged access. */ |
| 784 | 784 | ||
| 785 | if (!test_thread_flag (TIF_UAC_NOPRINT)) { | 785 | if (!test_thread_flag (TIF_UAC_NOPRINT)) { |
| 786 | if (cnt >= 5 && time_after(jiffies, last_time + 5 * HZ)) { | 786 | if (__ratelimit(&ratelimit)) { |
| 787 | cnt = 0; | ||
| 788 | } | ||
| 789 | if (++cnt < 5) { | ||
| 790 | printk("%s(%d): unaligned trap at %016lx: %p %lx %ld\n", | 787 | printk("%s(%d): unaligned trap at %016lx: %p %lx %ld\n", |
| 791 | current->comm, task_pid_nr(current), | 788 | current->comm, task_pid_nr(current), |
| 792 | regs->pc - 4, va, opcode, reg); | 789 | regs->pc - 4, va, opcode, reg); |
| 793 | } | 790 | } |
| 794 | last_time = jiffies; | ||
| 795 | } | 791 | } |
| 796 | if (test_thread_flag (TIF_UAC_SIGBUS)) | 792 | if (test_thread_flag (TIF_UAC_SIGBUS)) |
| 797 | goto give_sigbus; | 793 | goto give_sigbus; |
| @@ -155,6 +155,9 @@ config ARCH_MAY_HAVE_PC_FDC · 154 unmodified lines | |||
| 155 | config ZONE_DMA | 155 | config ZONE_DMA |
| 156 | bool | 156 | bool |
| 157 | 157 | ||
| 158 | config NEED_DMA_MAP_STATE | ||
| 159 | def_bool y | ||
| 160 | |||
| 158 | config GENERIC_ISA_DMA | 161 | config GENERIC_ISA_DMA |
| 159 | bool | 162 | bool |
| 160 | 163 | ||
| @@ -215,6 +218,10 @@ config MMU · 54 unmodified lines | |||
| 215 | Select if you want MMU-based virtualised addressing space | 218 | Select if you want MMU-based virtualised addressing space |
| 216 | support by paged memory management. If unsure, say 'Y'. | 219 | support by paged memory management. If unsure, say 'Y'. |
| 217 | 220 | ||
| 221 | # | ||
| 222 | # The "ARM system type" choice list is ordered alphabetically by option | ||
| 223 | # text. Please add new entries in the option alphabetic order. | ||
| 224 | # | ||
| 218 | choice | 225 | choice |
| 219 | prompt "ARM system type" | 226 | prompt "ARM system type" |
| 220 | default ARCH_VERSATILE | 227 | default ARCH_VERSATILE |
| @@ -271,6 +278,18 @@ config ARCH_AT91 · 50 unmodified lines | |||
| 271 | This enables support for systems based on the Atmel AT91RM9200, | 278 | This enables support for systems based on the Atmel AT91RM9200, |
| 272 | AT91SAM9 and AT91CAP9 processors. | 279 | AT91SAM9 and AT91CAP9 processors. |
| 273 | 280 | ||
| 281 | config ARCH_BCMRING | ||
| 282 | bool "Broadcom BCMRING" | ||
| 283 | depends on MMU | ||
| 284 | select CPU_V6 | ||
| 285 | select ARM_AMBA | ||
| 286 | select COMMON_CLKDEV | ||
| 287 | select GENERIC_TIME | ||
| 288 | select GENERIC_CLOCKEVENTS | ||
| 289 | select ARCH_WANT_OPTIONAL_GPIOLIB | ||
| 290 | help | ||
| 291 | Support for Broadcom's BCMRing platform. | ||
| 292 | |||
| 274 | config ARCH_CLPS711X | 293 | config ARCH_CLPS711X |
| 275 | bool "Cirrus Logic CLPS711x/EP721x-based" | 294 | bool "Cirrus Logic CLPS711x/EP721x-based" |
| 276 | select CPU_ARM720T | 295 | select CPU_ARM720T |
| @@ -321,10 +340,9 @@ config ARCH_MXC · 44 unmodified lines | |||
| 321 | bool "Freescale MXC/iMX-based" | 340 | bool "Freescale MXC/iMX-based" |
| 322 | select GENERIC_TIME | 341 | select GENERIC_TIME |
| 323 | select GENERIC_CLOCKEVENTS | 342 | select GENERIC_CLOCKEVENTS |
| 324 | select ARCH_MTD_XIP | ||
| 325 | select GENERIC_GPIO | ||
| 326 | select ARCH_REQUIRE_GPIOLIB | 343 | select ARCH_REQUIRE_GPIOLIB |
| 327 | select HAVE_CLK | 344 | select HAVE_CLK |
| 345 | select COMMON_CLKDEV | ||
| 328 | help | 346 | help |
| 329 | Support for Freescale MXC/iMX-based family of processors | 347 | Support for Freescale MXC/iMX-based family of processors |
| 330 | 348 | ||
| @@ -357,20 +375,6 @@ config ARCH_H720X · 26 unmodified lines | |||
| 357 | help | 375 | help |
| 358 | This enables support for systems based on the Hynix HMS720x | 376 | This enables support for systems based on the Hynix HMS720x |
| 359 | 377 | ||
| 360 | config ARCH_NOMADIK | ||
| 361 | bool "STMicroelectronics Nomadik" | ||
| 362 | select ARM_AMBA | ||
| 363 | select ARM_VIC | ||
| 364 | select CPU_ARM926T | ||
| 365 | select HAVE_CLK | ||
| 366 | select COMMON_CLKDEV | ||
| 367 | select GENERIC_TIME | ||
| 368 | select GENERIC_CLOCKEVENTS | ||
| 369 | select GENERIC_GPIO | ||
| 370 | select ARCH_REQUIRE_GPIOLIB | ||
| 371 | help | ||
| 372 | Support for the Nomadik platform by ST-Ericsson | ||
| 373 | |||
| 374 | config ARCH_IOP13XX | 378 | config ARCH_IOP13XX |
| 375 | bool "IOP13xx-based" | 379 | bool "IOP13xx-based" |
| 376 | depends on MMU | 380 | depends on MMU |
| @@ -508,7 +512,7 @@ config ARCH_ORION5X · 131 unmodified lines | |||
| 508 | Orion-2 (5281), Orion-1-90 (6183). | 512 | Orion-2 (5281), Orion-1-90 (6183). |
| 509 | 513 | ||
| 510 | config ARCH_MMP | 514 | config ARCH_MMP |
| 511 | bool "Marvell PXA168/910" | 515 | bool "Marvell PXA168/910/MMP2" |
| 512 | depends on MMU | 516 | depends on MMU |
| 513 | select GENERIC_GPIO | 517 | select GENERIC_GPIO |
| 514 | select ARCH_REQUIRE_GPIOLIB | 518 | select ARCH_REQUIRE_GPIOLIB |
| @@ -519,7 +523,7 @@ config ARCH_MMP · 4 unmodified lines | |||
| 519 | select TICK_ONESHOT | 523 | select TICK_ONESHOT |
| 520 | select PLAT_PXA | 524 | select PLAT_PXA |
| 521 | help | 525 | help |
| 522 | Support for Marvell's PXA168/910 processor line. | 526 | Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line. |
| 523 | 527 | ||
| 524 | config ARCH_KS8695 | 528 | config ARCH_KS8695 |
| 525 | bool "Micrel/Kendin KS8695" | 529 | bool "Micrel/Kendin KS8695" |
| @@ -605,6 +609,11 @@ config ARCH_MSM · 79 unmodified lines | |||
| 605 | interface to the ARM9 modem processor which runs the baseband stack | 609 | interface to the ARM9 modem processor which runs the baseband stack |
| 606 | and controls some vital subsystems (clock and power control, etc). | 610 | and controls some vital subsystems (clock and power control, etc). |
| 607 | 611 | ||
| 612 | config ARCH_SHMOBILE | ||
| 613 | bool "Renesas SH-Mobile" | ||
| 614 | help | ||
| 615 | Support for Renesas's SH-Mobile ARM platforms | ||
| 616 | |||
| 608 | config ARCH_RPC | 617 | config ARCH_RPC |
| 609 | bool "RiscPC" | 618 | bool "RiscPC" |
| 610 | select ARCH_ACORN | 619 | select ARCH_ACORN |
| @@ -648,12 +657,43 @@ config ARCH_S3C2410 · 37 unmodified lines | |||
| 648 | 657 | ||
| 649 | config ARCH_S3C64XX | 658 | config ARCH_S3C64XX |
| 650 | bool "Samsung S3C64XX" | 659 | bool "Samsung S3C64XX" |
| 660 | select PLAT_SAMSUNG | ||
| 661 | select CPU_V6 | ||
| 651 | select GENERIC_GPIO | 662 | select GENERIC_GPIO |
| 663 | select ARM_VIC | ||
| 652 | select HAVE_CLK | 664 | select HAVE_CLK |
| 665 | select NO_IOPORT | ||
| 653 | select ARCH_HAS_CPUFREQ | 666 | select ARCH_HAS_CPUFREQ |
| 667 | select ARCH_REQUIRE_GPIOLIB | ||
| 668 | select SAMSUNG_CLKSRC | ||
| 669 | select SAMSUNG_IRQ_VIC_TIMER | ||
| 670 | select SAMSUNG_IRQ_UART | ||
| 671 | select S3C_GPIO_TRACK | ||
| 672 | select S3C_GPIO_PULL_UPDOWN | ||
| 673 | select S3C_GPIO_CFG_S3C24XX | ||
| 674 | select S3C_GPIO_CFG_S3C64XX | ||
| 675 | select S3C_DEV_NAND | ||
| 676 | select USB_ARCH_HAS_OHCI | ||
| 677 | select SAMSUNG_GPIOLIB_4BIT | ||
| 654 | help | 678 | help |
| 655 | Samsung S3C64XX series based systems | 679 | Samsung S3C64XX series based systems |
| 656 | 680 | ||
| 681 | config ARCH_S5P6440 | ||
| 682 | bool "Samsung S5P6440" | ||
| 683 | select CPU_V6 | ||
| 684 | select GENERIC_GPIO | ||
| 685 | select HAVE_CLK | ||
| 686 | help | ||
| 687 | Samsung S5P6440 CPU based systems | ||
| 688 | |||
| 689 | config ARCH_S5P6442 | ||
| 690 | bool "Samsung S5P6442" | ||
| 691 | select CPU_V6 | ||
| 692 | select GENERIC_GPIO | ||
| 693 | select HAVE_CLK | ||
| 694 | help | ||
| 695 | Samsung S5P6442 CPU based systems | ||
| 696 | |||
| 657 | config ARCH_S5PC1XX | 697 | config ARCH_S5PC1XX |
| 658 | bool "Samsung S5PC1XX" | 698 | bool "Samsung S5PC1XX" |
| 659 | select GENERIC_GPIO | 699 | select GENERIC_GPIO |
| @@ -663,6 +703,15 @@ config ARCH_S5PC1XX · 3 unmodified lines | |||
| 663 | help | 703 | help |
| 664 | Samsung S5PC1XX series based systems | 704 | Samsung S5PC1XX series based systems |
| 665 | 705 | ||
| 706 | config ARCH_S5PV210 | ||
| 707 | bool "Samsung S5PV210/S5PC110" | ||
| 708 | select CPU_V7 | ||
| 709 | select GENERIC_GPIO | ||
| 710 | select HAVE_CLK | ||
| 711 | select ARM_L1_CACHE_SHIFT_6 | ||
| 712 | help | ||
| 713 | Samsung S5PV210/S5PC110 series based systems | ||
| 714 | |||
| 666 | config ARCH_SHARK | 715 | config ARCH_SHARK |
| 667 | bool "Shark" | 716 | bool "Shark" |
| 668 | select CPU_SA110 | 717 | select CPU_SA110 |
| @@ -700,6 +749,30 @@ config ARCH_U300 · 31 unmodified lines | |||
| 700 | help | 749 | help |
| 701 | Support for ST-Ericsson U300 series mobile platforms. | 750 | Support for ST-Ericsson U300 series mobile platforms. |
| 702 | 751 | ||
| 752 | config ARCH_U8500 | ||
| 753 | bool "ST-Ericsson U8500 Series" | ||
| 754 | select CPU_V7 | ||
| 755 | select ARM_AMBA | ||
| 756 | select GENERIC_TIME | ||
| 757 | select GENERIC_CLOCKEVENTS | ||
| 758 | select COMMON_CLKDEV | ||
| 759 | help | ||
| 760 | Support for ST-Ericsson's Ux500 architecture | ||
| 761 | |||
| 762 | config ARCH_NOMADIK | ||
| 763 | bool "STMicroelectronics Nomadik" | ||
| 764 | select ARM_AMBA | ||
| 765 | select ARM_VIC | ||
| 766 | select CPU_ARM926T | ||
| 767 | select HAVE_CLK | ||
| 768 | select COMMON_CLKDEV | ||
| 769 | select GENERIC_TIME | ||
| 770 | select GENERIC_CLOCKEVENTS | ||
| 771 | select GENERIC_GPIO | ||
| 772 | select ARCH_REQUIRE_GPIOLIB | ||
| 773 | help | ||
| 774 | Support for the Nomadik platform by ST-Ericsson | ||
| 775 | |||
| 703 | config ARCH_DAVINCI | 776 | config ARCH_DAVINCI |
| 704 | bool "TI DaVinci" | 777 | bool "TI DaVinci" |
| 705 | select CPU_ARM926T | 778 | select CPU_ARM926T |
| @@ -728,30 +801,13 @@ config ARCH_OMAP · 22 unmodified lines | |||
| 728 | help | 801 | help |
| 729 | Support for TI's OMAP platform (OMAP1 and OMAP2). | 802 | Support for TI's OMAP platform (OMAP1 and OMAP2). |
| 730 | 803 | ||
| 731 | config ARCH_BCMRING | ||
| 732 | bool "Broadcom BCMRING" | ||
| 733 | depends on MMU | ||
| 734 | select CPU_V6 | ||
| 735 | select ARM_AMBA | ||
| 736 | select COMMON_CLKDEV | ||
| 737 | select GENERIC_TIME | ||
| 738 | select GENERIC_CLOCKEVENTS | ||
| 739 | select ARCH_WANT_OPTIONAL_GPIOLIB | ||
| 740 | help | ||
| 741 | Support for Broadcom's BCMRing platform. | ||
| 742 | |||
| 743 | config ARCH_U8500 | ||
| 744 | bool "ST-Ericsson U8500 Series" | ||
| 745 | select CPU_V7 | ||
| 746 | select ARM_AMBA | ||
| 747 | select GENERIC_TIME | ||
| 748 | select GENERIC_CLOCKEVENTS | ||
| 749 | select COMMON_CLKDEV | ||
| 750 | help | ||
| 751 | Support for ST-Ericsson's Ux500 architecture | ||
| 752 | |||
| 753 | endchoice | 804 | endchoice |
| 754 | 805 | ||
| 806 | # | ||
| 807 | # This is sorted alphabetically by mach-* pathname. However, plat-* | ||
| 808 | # Kconfigs may be included either alphabetically (according to the | ||
| 809 | # plat- suffix) or along side the corresponding mach-* source. | ||
| 810 | # | ||
| 755 | source "arch/arm/mach-aaec2000/Kconfig" | 811 | source "arch/arm/mach-aaec2000/Kconfig" |
| 756 | 812 | ||
| 757 | source "arch/arm/mach-at91/Kconfig" | 813 | source "arch/arm/mach-at91/Kconfig" |
| @@ -828,8 +884,7 @@ source "arch/arm/mach-sa1100/Kconfig" · 70 unmodified lines | |||
| 828 | 884 | ||
| 829 | source "arch/arm/plat-samsung/Kconfig" | 885 | source "arch/arm/plat-samsung/Kconfig" |
| 830 | source "arch/arm/plat-s3c24xx/Kconfig" | 886 | source "arch/arm/plat-s3c24xx/Kconfig" |
| 831 | source "arch/arm/plat-s3c64xx/Kconfig" | 887 | source "arch/arm/plat-s5p/Kconfig" |
| 832 | source "arch/arm/plat-s3c/Kconfig" | ||
| 833 | source "arch/arm/plat-s5pc1xx/Kconfig" | 888 | source "arch/arm/plat-s5pc1xx/Kconfig" |
| 834 | 889 | ||
| 835 | if ARCH_S3C2410 | 890 | if ARCH_S3C2410 |
| @@ -837,21 +892,27 @@ source "arch/arm/mach-s3c2400/Kconfig" · 1 unmodified line | |||
| 837 | source "arch/arm/mach-s3c2410/Kconfig" | 892 | source "arch/arm/mach-s3c2410/Kconfig" |
| 838 | source "arch/arm/mach-s3c2412/Kconfig" | 893 | source "arch/arm/mach-s3c2412/Kconfig" |
| 839 | source "arch/arm/mach-s3c2440/Kconfig" | 894 | source "arch/arm/mach-s3c2440/Kconfig" |
| 840 | source "arch/arm/mach-s3c2442/Kconfig" | ||
| 841 | source "arch/arm/mach-s3c2443/Kconfig" | 895 | source "arch/arm/mach-s3c2443/Kconfig" |
| 842 | endif | 896 | endif |
| 843 | 897 | ||
| 844 | if ARCH_S3C64XX | 898 | if ARCH_S3C64XX |
| 845 | source "arch/arm/mach-s3c6400/Kconfig" | 899 | source "arch/arm/mach-s3c64xx/Kconfig" |
| 846 | source "arch/arm/mach-s3c6410/Kconfig" | ||
| 847 | endif | 900 | endif |
| 848 | 901 | ||
| 849 | source "arch/arm/plat-stmp3xxx/Kconfig" | 902 | source "arch/arm/mach-s5p6440/Kconfig" |
| 903 | |||
| 904 | source "arch/arm/mach-s5p6442/Kconfig" | ||
| 850 | 905 | ||
| 851 | if ARCH_S5PC1XX | 906 | if ARCH_S5PC1XX |
| 852 | source "arch/arm/mach-s5pc100/Kconfig" | 907 | source "arch/arm/mach-s5pc100/Kconfig" |
| 853 | endif | 908 | endif |
| 854 | 909 | ||
| 910 | source "arch/arm/mach-s5pv210/Kconfig" | ||
| 911 | |||
| 912 | source "arch/arm/mach-shmobile/Kconfig" | ||
| 913 | |||
| 914 | source "arch/arm/plat-stmp3xxx/Kconfig" | ||
| 915 | |||
| 855 | source "arch/arm/mach-u300/Kconfig" | 916 | source "arch/arm/mach-u300/Kconfig" |
| 856 | 917 | ||
| 857 | source "arch/arm/mach-ux500/Kconfig" | 918 | source "arch/arm/mach-ux500/Kconfig" |
| @@ -1117,7 +1178,7 @@ source kernel/Kconfig.preempt · 259 unmodified lines | |||
| 1117 | config HZ | 1178 | config HZ |
| 1118 | int | 1179 | int |
| 1119 | default 128 if ARCH_L7200 | 1180 | default 128 if ARCH_L7200 |
| 1120 | default 200 if ARCH_EBSA110 || ARCH_S3C2410 | 1181 | default 200 if ARCH_EBSA110 || ARCH_S3C2410 || ARCH_S5P6440 || ARCH_S5P6442 || ARCH_S5PV210 |
| 1121 | default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER | 1182 | default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER |
| 1122 | default AT91_TIMER_HZ if ARCH_AT91 | 1183 | default AT91_TIMER_HZ if ARCH_AT91 |
| 1123 | default 100 | 1184 | default 100 |
| @@ -117,7 +117,7 @@ config DEBUG_CLPS711X_UART2 · 116 unmodified lines | |||
| 117 | cause the debug messages to appear on the first serial port. | 117 | cause the debug messages to appear on the first serial port. |
| 118 | 118 | ||
| 119 | config DEBUG_S3C_UART | 119 | config DEBUG_S3C_UART |
| 120 | depends on PLAT_S3C | 120 | depends on PLAT_SAMSUNG |
| 121 | int "S3C UART to use for low-level debug" | 121 | int "S3C UART to use for low-level debug" |
| 122 | default "0" | 122 | default "0" |
| 123 | help | 123 | help |
| @@ -146,6 +146,7 @@ machine-$(CONFIG_ARCH_MX1) := mx1 · 145 unmodified lines | |||
| 146 | machine-$(CONFIG_ARCH_MX2) := mx2 | 146 | machine-$(CONFIG_ARCH_MX2) := mx2 |
| 147 | machine-$(CONFIG_ARCH_MX25) := mx25 | 147 | machine-$(CONFIG_ARCH_MX25) := mx25 |
| 148 | machine-$(CONFIG_ARCH_MX3) := mx3 | 148 | machine-$(CONFIG_ARCH_MX3) := mx3 |
| 149 | machine-$(CONFIG_ARCH_MX5) := mx5 | ||
| 149 | machine-$(CONFIG_ARCH_MXC91231) := mxc91231 | 150 | machine-$(CONFIG_ARCH_MXC91231) := mxc91231 |
| 150 | machine-$(CONFIG_ARCH_NETX) := netx | 151 | machine-$(CONFIG_ARCH_NETX) := netx |
| 151 | machine-$(CONFIG_ARCH_NOMADIK) := nomadik | 152 | machine-$(CONFIG_ARCH_NOMADIK) := nomadik |
| @@ -159,12 +160,16 @@ machine-$(CONFIG_ARCH_PNX4008) := pnx4008 · 7 unmodified lines | |||
| 159 | machine-$(CONFIG_ARCH_PXA) := pxa | 160 | machine-$(CONFIG_ARCH_PXA) := pxa |
| 160 | machine-$(CONFIG_ARCH_REALVIEW) := realview | 161 | machine-$(CONFIG_ARCH_REALVIEW) := realview |
| 161 | machine-$(CONFIG_ARCH_RPC) := rpc | 162 | machine-$(CONFIG_ARCH_RPC) := rpc |
| 162 | machine-$(CONFIG_ARCH_S3C2410) := s3c2410 s3c2400 s3c2412 s3c2440 s3c2442 s3c2443 | 163 | machine-$(CONFIG_ARCH_S3C2410) := s3c2410 s3c2400 s3c2412 s3c2440 s3c2443 |
| 163 | machine-$(CONFIG_ARCH_S3C24A0) := s3c24a0 | 164 | machine-$(CONFIG_ARCH_S3C24A0) := s3c24a0 |
| 164 | machine-$(CONFIG_ARCH_S3C64XX) := s3c6400 s3c6410 | 165 | machine-$(CONFIG_ARCH_S3C64XX) := s3c64xx |
| 166 | machine-$(CONFIG_ARCH_S5P6440) := s5p6440 | ||
| 167 | machine-$(CONFIG_ARCH_S5P6442) := s5p6442 | ||
| 165 | machine-$(CONFIG_ARCH_S5PC1XX) := s5pc100 | 168 | machine-$(CONFIG_ARCH_S5PC1XX) := s5pc100 |
| 169 | machine-$(CONFIG_ARCH_S5PV210) := s5pv210 | ||
| 166 | machine-$(CONFIG_ARCH_SA1100) := sa1100 | 170 | machine-$(CONFIG_ARCH_SA1100) := sa1100 |
| 167 | machine-$(CONFIG_ARCH_SHARK) := shark | 171 | machine-$(CONFIG_ARCH_SHARK) := shark |
| 172 | machine-$(CONFIG_ARCH_SHMOBILE) := shmobile | ||
| 168 | machine-$(CONFIG_ARCH_STMP378X) := stmp378x | 173 | machine-$(CONFIG_ARCH_STMP378X) := stmp378x |
| 169 | machine-$(CONFIG_ARCH_STMP37XX) := stmp37xx | 174 | machine-$(CONFIG_ARCH_STMP37XX) := stmp37xx |
| 170 | machine-$(CONFIG_ARCH_U300) := u300 | 175 | machine-$(CONFIG_ARCH_U300) := u300 |
| @@ -178,14 +183,15 @@ machine-$(CONFIG_FOOTBRIDGE) := footbridge · 7 unmodified lines | |||
| 178 | # by CONFIG_* macro name. | 183 | # by CONFIG_* macro name. |
| 179 | plat-$(CONFIG_ARCH_MXC) := mxc | 184 | plat-$(CONFIG_ARCH_MXC) := mxc |
| 180 | plat-$(CONFIG_ARCH_OMAP) := omap | 185 | plat-$(CONFIG_ARCH_OMAP) := omap |
| 186 | plat-$(CONFIG_ARCH_S3C64XX) := samsung | ||
| 181 | plat-$(CONFIG_ARCH_STMP3XXX) := stmp3xxx | 187 | plat-$(CONFIG_ARCH_STMP3XXX) := stmp3xxx |
| 182 | plat-$(CONFIG_PLAT_IOP) := iop | 188 | plat-$(CONFIG_PLAT_IOP) := iop |
| 183 | plat-$(CONFIG_PLAT_NOMADIK) := nomadik | 189 | plat-$(CONFIG_PLAT_NOMADIK) := nomadik |
| 184 | plat-$(CONFIG_PLAT_ORION) := orion | 190 | plat-$(CONFIG_PLAT_ORION) := orion |
| 185 | plat-$(CONFIG_PLAT_PXA) := pxa | 191 | plat-$(CONFIG_PLAT_PXA) := pxa |
| 186 | plat-$(CONFIG_PLAT_S3C24XX) := s3c24xx s3c samsung | 192 | plat-$(CONFIG_PLAT_S3C24XX) := s3c24xx samsung |
| 187 | plat-$(CONFIG_PLAT_S3C64XX) := s3c64xx s3c samsung | 193 | plat-$(CONFIG_PLAT_S5PC1XX) := s5pc1xx samsung |
| 188 | plat-$(CONFIG_PLAT_S5PC1XX) := s5pc1xx s3c samsung | 194 | plat-$(CONFIG_PLAT_S5P) := s5p samsung |
| 189 | 195 | ||
| 190 | ifeq ($(CONFIG_ARCH_EBSA110),y) | 196 | ifeq ($(CONFIG_ARCH_EBSA110),y) |
| 191 | # This is what happens if you forget the IOCS16 line. | 197 | # This is what happens if you forget the IOCS16 line. |
| @@ -49,7 +49,7 @@ _start: add lr, pc, #-0x8 @ lr = current load addr · 48 unmodified lines | |||
| 49 | /* | 49 | /* |
| 50 | * find the end of the tag list, and then add an INITRD tag on the end. | 50 | * find the end of the tag list, and then add an INITRD tag on the end. |
| 51 | * If there is already an INITRD tag, then we ignore it; the last INITRD | 51 | * If there is already an INITRD tag, then we ignore it; the last INITRD |
| 52 | * tag takes precidence. | 52 | * tag takes precedence. |
| 53 | */ | 53 | */ |
| 54 | taglist: ldr r10, [r9, #0] @ tag length | 54 | taglist: ldr r10, [r9, #0] @ tag length |
| 55 | teq r10, #0 @ last tag (zero length)? | 55 | teq r10, #0 @ last tag (zero length)? |
| @@ -11,6 +11,7 @@ extern unsigned long free_mem_end_ptr; · 10 unmodified lines | |||
| 11 | extern void error(char *); | 11 | extern void error(char *); |
| 12 | 12 | ||
| 13 | #define STATIC static | 13 | #define STATIC static |
| 14 | #define STATIC_RW_DATA /* non-static please */ | ||
| 14 | 15 | ||
| 15 | #define ARCH_HAS_DECOMP_WDOG | 16 | #define ARCH_HAS_DECOMP_WDOG |
| 16 | 17 | ||
| @@ -170,8 +170,8 @@ not_angel: · 169 unmodified lines | |||
| 170 | 170 | ||
| 171 | .text | 171 | .text |
| 172 | adr r0, LC0 | 172 | adr r0, LC0 |
| 173 | ARM( ldmia r0, {r1, r2, r3, r4, r5, r6, ip, sp} ) | 173 | ARM( ldmia r0, {r1, r2, r3, r4, r5, r6, r11, ip, sp}) |
| 174 | THUMB( ldmia r0, {r1, r2, r3, r4, r5, r6, ip} ) | 174 | THUMB( ldmia r0, {r1, r2, r3, r4, r5, r6, r11, ip} ) |
| 175 | THUMB( ldr sp, [r0, #28] ) | 175 | THUMB( ldr sp, [r0, #28] ) |
| 176 | subs r0, r0, r1 @ calculate the delta offset | 176 | subs r0, r0, r1 @ calculate the delta offset |
| 177 | 177 | ||
| @@ -182,12 +182,13 @@ not_angel: · 4 unmodified lines | |||
| 182 | /* | 182 | /* |
| 183 | * We're running at a different address. We need to fix | 183 | * We're running at a different address. We need to fix |
| 184 | * up various pointers: | 184 | * up various pointers: |
| 185 | * r5 - zImage base address | 185 | * r5 - zImage base address (_start) |
| 186 | * r6 - GOT start | 186 | * r6 - size of decompressed image |
| 187 | * r11 - GOT start | ||
| 187 | * ip - GOT end | 188 | * ip - GOT end |
| 188 | */ | 189 | */ |
| 189 | add r5, r5, r0 | 190 | add r5, r5, r0 |
| 190 | add r6, r6, r0 | 191 | add r11, r11, r0 |
| 191 | add ip, ip, r0 | 192 | add ip, ip, r0 |
| 192 | 193 | ||
| 193 | #ifndef CONFIG_ZBOOT_ROM | 194 | #ifndef CONFIG_ZBOOT_ROM |
| @@ -205,10 +206,10 @@ not_angel: · 11 unmodified lines | |||
| 205 | /* | 206 | /* |
| 206 | * Relocate all entries in the GOT table. | 207 | * Relocate all entries in the GOT table. |
| 207 | */ | 208 | */ |
| 208 | 1: ldr r1, [r6, #0] @ relocate entries in the GOT | 209 | 1: ldr r1, [r11, #0] @ relocate entries in the GOT |
| 209 | add r1, r1, r0 @ table. This fixes up the | 210 | add r1, r1, r0 @ table. This fixes up the |
| 210 | str r1, [r6], #4 @ C references. | 211 | str r1, [r11], #4 @ C references. |
| 211 | cmp r6, ip | 212 | cmp r11, ip |
| 212 | blo 1b | 213 | blo 1b |
| 213 | #else | 214 | #else |
| 214 | 215 | ||
| @@ -216,12 +217,12 @@ not_angel: · 1 unmodified line | |||
| 216 | * Relocate entries in the GOT table. We only relocate | 217 | * Relocate entries in the GOT table. We only relocate |
| 217 | * the entries that are outside the (relocated) BSS region. | 218 | * the entries that are outside the (relocated) BSS region. |
| 218 | */ | 219 | */ |
| 219 | 1: ldr r1, [r6, #0] @ relocate entries in the GOT | 220 | 1: ldr r1, [r11, #0] @ relocate entries in the GOT |
| 220 | cmp r1, r2 @ entry < bss_start || | 221 | cmp r1, r2 @ entry < bss_start || |
| 221 | cmphs r3, r1 @ _end < entry | 222 | cmphs r3, r1 @ _end < entry |
| 222 | addlo r1, r1, r0 @ table. This fixes up the | 223 | addlo r1, r1, r0 @ table. This fixes up the |
| 223 | str r1, [r6], #4 @ C references. | 224 | str r1, [r11], #4 @ C references. |
| 224 | cmp r6, ip | 225 | cmp r11, ip |
| 225 | blo 1b | 226 | blo 1b |
| 226 | #endif | 227 | #endif |
| 227 | 228 | ||
| @@ -247,6 +248,7 @@ not_relocated: mov r0, #0 · 19 unmodified lines | |||
| 247 | * Check to see if we will overwrite ourselves. | 248 | * Check to see if we will overwrite ourselves. |
| 248 | * r4 = final kernel address | 249 | * r4 = final kernel address |
| 249 | * r5 = start of this image | 250 | * r5 = start of this image |
| 251 | * r6 = size of decompressed image | ||
| 250 | * r2 = end of malloc space (and therefore this image) | 252 | * r2 = end of malloc space (and therefore this image) |
| 251 | * We basically want: | 253 | * We basically want: |
| 252 | * r4 >= r2 -> OK | 254 | * r4 >= r2 -> OK |
| @@ -254,8 +256,7 @@ not_relocated: mov r0, #0 · 1 unmodified line | |||
| 254 | */ | 256 | */ |
| 255 | cmp r4, r2 | 257 | cmp r4, r2 |
| 256 | bhs wont_overwrite | 258 | bhs wont_overwrite |
| 257 | sub r3, sp, r5 @ > compressed kernel size | 259 | add r0, r4, r6 |
| 258 | add r0, r4, r3, lsl #2 @ allow for 4x expansion | ||
| 259 | cmp r0, r5 | 260 | cmp r0, r5 |
| 260 | bls wont_overwrite | 261 | bls wont_overwrite |
| 261 | 262 | ||
| @@ -271,7 +272,6 @@ not_relocated: mov r0, #0 · 9 unmodified lines | |||
| 271 | * r1-r3 = unused | 272 | * r1-r3 = unused |
| 272 | * r4 = kernel execution address | 273 | * r4 = kernel execution address |
| 273 | * r5 = decompressed kernel start | 274 | * r5 = decompressed kernel start |
| 274 | * r6 = processor ID | ||
| 275 | * r7 = architecture ID | 275 | * r7 = architecture ID |
| 276 | * r8 = atags pointer | 276 | * r8 = atags pointer |
| 277 | * r9-r12,r14 = corrupted | 277 | * r9-r12,r14 = corrupted |
| @@ -312,7 +312,8 @@ LC0: .word LC0 @ r1 · 34 unmodified lines | |||
| 312 | .word _end @ r3 | 312 | .word _end @ r3 |
| 313 | .word zreladdr @ r4 | 313 | .word zreladdr @ r4 |
| 314 | .word _start @ r5 | 314 | .word _start @ r5 |
| 315 | .word _got_start @ r6 | 315 | .word _image_size @ r6 |
| 316 | .word _got_start @ r11 | ||
| 316 | .word _got_end @ ip | 317 | .word _got_end @ ip |
| 317 | .word user_stack+4096 @ sp | 318 | .word user_stack+4096 @ sp |
| 318 | LC1: .word reloc_end - reloc_start | 319 | LC1: .word reloc_end - reloc_start |
| @@ -336,7 +337,6 @@ params: ldr r0, =params_phys · 17 unmodified lines | |||
| 336 | * | 337 | * |
| 337 | * On entry, | 338 | * On entry, |
| 338 | * r4 = kernel execution address | 339 | * r4 = kernel execution address |
| 339 | * r6 = processor ID | ||
| 340 | * r7 = architecture number | 340 | * r7 = architecture number |
| 341 | * r8 = atags pointer | 341 | * r8 = atags pointer |
| 342 | * r9 = run-time address of "start" (???) | 342 | * r9 = run-time address of "start" (???) |
| @@ -542,7 +542,6 @@ __common_mmu_cache_on: · 199 unmodified lines | |||
| 542 | * r1-r3 = unused | 542 | * r1-r3 = unused |
| 543 | * r4 = kernel execution address | 543 | * r4 = kernel execution address |
| 544 | * r5 = decompressed kernel start | 544 | * r5 = decompressed kernel start |
| 545 | * r6 = processor ID | ||
| 546 | * r7 = architecture ID | 545 | * r7 = architecture ID |
| 547 | * r8 = atags pointer | 546 | * r8 = atags pointer |
| 548 | * r9-r12,r14 = corrupted | 547 | * r9-r12,r14 = corrupted |
| @@ -581,19 +580,19 @@ call_kernel: bl cache_clean_flush · 32 unmodified lines | |||
| 581 | * r1 = corrupted | 580 | * r1 = corrupted |
| 582 | * r2 = corrupted | 581 | * r2 = corrupted |
| 583 | * r3 = block offset | 582 | * r3 = block offset |
| 584 | * r6 = corrupted | 583 | * r9 = corrupted |
| 585 | * r12 = corrupted | 584 | * r12 = corrupted |
| 586 | */ | 585 | */ |
| 587 | 586 | ||
| 588 | call_cache_fn: adr r12, proc_types | 587 | call_cache_fn: adr r12, proc_types |
| 589 | #ifdef CONFIG_CPU_CP15 | 588 | #ifdef CONFIG_CPU_CP15 |
| 590 | mrc p15, 0, r6, c0, c0 @ get processor ID | 589 | mrc p15, 0, r9, c0, c0 @ get processor ID |
| 591 | #else | 590 | #else |
| 592 | ldr r6, =CONFIG_PROCESSOR_ID | 591 | ldr r9, =CONFIG_PROCESSOR_ID |
| 593 | #endif | 592 | #endif |
| 594 | 1: ldr r1, [r12, #0] @ get value | 593 | 1: ldr r1, [r12, #0] @ get value |
| 595 | ldr r2, [r12, #4] @ get mask | 594 | ldr r2, [r12, #4] @ get mask |
| 596 | eor r1, r1, r6 @ (real ^ match) | 595 | eor r1, r1, r9 @ (real ^ match) |
| 597 | tst r1, r2 @ & mask | 596 | tst r1, r2 @ & mask |
| 598 | ARM( addeq pc, r12, r3 ) @ call cache function | 597 | ARM( addeq pc, r12, r3 ) @ call cache function |
| 599 | THUMB( addeq r12, r3 ) | 598 | THUMB( addeq r12, r3 ) |
| @@ -743,7 +742,7 @@ proc_types: · 143 unmodified lines | |||
| 743 | .word 0x000f0000 | 742 | .word 0x000f0000 |
| 744 | W(b) __armv4_mmu_cache_on | 743 | W(b) __armv4_mmu_cache_on |
| 745 | W(b) __armv4_mmu_cache_off | 744 | W(b) __armv4_mmu_cache_off |
| 746 | W(b) __armv4_mmu_cache_flush | 745 | W(b) __armv5tej_mmu_cache_flush |
| 747 | 746 | ||
| 748 | .word 0x0007b000 @ ARMv6 | 747 | .word 0x0007b000 @ ARMv6 |
| 749 | .word 0x000ff000 | 748 | .word 0x000ff000 |
| @@ -778,8 +777,7 @@ proc_types: · 28 unmodified lines | |||
| 778 | * Turn off the Cache and MMU. ARMv3 does not support | 777 | * Turn off the Cache and MMU. ARMv3 does not support |
| 779 | * reading the control register, but ARMv4 does. | 778 | * reading the control register, but ARMv4 does. |
| 780 | * | 779 | * |
| 781 | * On entry, r6 = processor ID | 780 | * On exit, r0, r1, r2, r3, r9, r12 corrupted |
| 782 | * On exit, r0, r1, r2, r3, r12 corrupted | ||
| 783 | * This routine must preserve: r4, r6, r7 | 781 | * This routine must preserve: r4, r6, r7 |
| 784 | */ | 782 | */ |
| 785 | .align 5 | 783 | .align 5 |
| @@ -852,10 +850,8 @@ __armv3_mmu_cache_off: · 66 unmodified lines | |||
| 852 | /* | 850 | /* |
| 853 | * Clean and flush the cache to maintain consistency. | 851 | * Clean and flush the cache to maintain consistency. |
| 854 | * | 852 | * |
| 855 | * On entry, | ||
| 856 | * r6 = processor ID | ||
| 857 | * On exit, | 853 | * On exit, |
| 858 | * r1, r2, r3, r11, r12 corrupted | 854 | * r1, r2, r3, r9, r11, r12 corrupted |
| 859 | * This routine must preserve: | 855 | * This routine must preserve: |
| 860 | * r0, r4, r5, r6, r7 | 856 | * r0, r4, r5, r6, r7 |
| 861 | */ | 857 | */ |
| @@ -967,7 +963,7 @@ __armv4_mmu_cache_flush: · 105 unmodified lines | |||
| 967 | mov r2, #64*1024 @ default: 32K dcache size (*2) | 963 | mov r2, #64*1024 @ default: 32K dcache size (*2) |
| 968 | mov r11, #32 @ default: 32 byte line size | 964 | mov r11, #32 @ default: 32 byte line size |
| 969 | mrc p15, 0, r3, c0, c0, 1 @ read cache type | 965 | mrc p15, 0, r3, c0, c0, 1 @ read cache type |
| 970 | teq r3, r6 @ cache ID register present? | 966 | teq r3, r9 @ cache ID register present? |
| 971 | beq no_cache_id | 967 | beq no_cache_id |
| 972 | mov r1, r3, lsr #18 | 968 | mov r1, r3, lsr #18 |
| 973 | and r1, r1, #7 | 969 | and r1, r1, #7 |
| @@ -33,6 +33,7 @@ unsigned int __machine_arch_type; · 32 unmodified lines | |||
| 33 | #else | 33 | #else |
| 34 | 34 | ||
| 35 | static void putstr(const char *ptr); | 35 | static void putstr(const char *ptr); |
| 36 | extern void error(char *x); | ||
| 36 | 37 | ||
| 37 | #include <mach/uncompress.h> | 38 | #include <mach/uncompress.h> |
| 38 | 39 | ||
| @@ -43,6 +43,9 @@ SECTIONS · 42 unmodified lines | |||
| 43 | 43 | ||
| 44 | _etext = .; | 44 | _etext = .; |
| 45 | 45 | ||
| 46 | /* Assume size of decompressed image is 4x the compressed image */ | ||
| 47 | _image_size = (_etext - _text) * 4; | ||
| 48 | |||
| 46 | _got_start = .; | 49 | _got_start = .; |
| 47 | .got : { *(.got) } | 50 | .got : { *(.got) } |
| 48 | _got_end = .; | 51 | _got_end = .; |
| @@ -32,7 +32,7 @@ static DEFINE_MUTEX(clocks_mutex); · 31 unmodified lines | |||
| 32 | * If an entry has a device ID, it must match | 32 | * If an entry has a device ID, it must match |
| 33 | * If an entry has a connection ID, it must match | 33 | * If an entry has a connection ID, it must match |
| 34 | * Then we take the most specific entry - with the following | 34 | * Then we take the most specific entry - with the following |
| 35 | * order of precidence: dev+con > dev only > con only. | 35 | * order of precedence: dev+con > dev only > con only. |
| 36 | */ | 36 | */ |
| 37 | static struct clk *clk_find(const char *dev_id, const char *con_id) | 37 | static struct clk *clk_find(const char *dev_id, const char *con_id) |
| 38 | { | 38 | { |
| @@ -272,33 +272,6 @@ int dma_needs_bounce(struct device *dev, dma_addr_t dma_addr, size_t size) · 271 unmodified lines | |||
| 272 | ((dma_addr + size - PHYS_OFFSET) >= SZ_64M); | 272 | ((dma_addr + size - PHYS_OFFSET) >= SZ_64M); |
| 273 | } | 273 | } |
| 274 | 274 | ||
| 275 | /* | ||
| 276 | * We override these so we properly do dmabounce otherwise drivers | ||
| 277 | * are able to set the dma_mask to 0xffffffff and we can no longer | ||
| 278 | * trap bounces. :( | ||
| 279 | * | ||
| 280 | * We just return true on everyhing except for < 64MB in which case | ||
| 281 | * we will fail miseralby and die since we can't handle that case. | ||
| 282 | */ | ||
| 283 | int pci_set_dma_mask(struct pci_dev *dev, u64 mask) | ||
| 284 | { | ||
| 285 | dev_dbg(&dev->dev, "%s: %llx\n", __func__, mask); | ||
| 286 | if (mask >= PHYS_OFFSET + SZ_64M - 1) | ||
| 287 | return 0; | ||
| 288 | |||
| 289 | return -EIO; | ||
| 290 | } | ||
| 291 | |||
| 292 | int | ||
| 293 | pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask) | ||
| 294 | { | ||
| 295 | dev_dbg(&dev->dev, "%s: %llx\n", __func__, mask); | ||
| 296 | if (mask >= PHYS_OFFSET + SZ_64M - 1) | ||
| 297 | return 0; | ||
| 298 | |||
| 299 | return -EIO; | ||
| 300 | } | ||
| 301 | |||
| 302 | int __init it8152_pci_setup(int nr, struct pci_sys_data *sys) | 275 | int __init it8152_pci_setup(int nr, struct pci_sys_data *sys) |
| 303 | { | 276 | { |
| 304 | it8152_io.start = IT8152_IO_BASE + 0x12000; | 277 | it8152_io.start = IT8152_IO_BASE + 0x12000; |
| @@ -32,6 +32,12 @@ · 31 unmodified lines | |||
| 32 | 32 | ||
| 33 | #include <asm/hardware/locomo.h> | 33 | #include <asm/hardware/locomo.h> |
| 34 | 34 | ||
| 35 | /* LoCoMo Interrupts */ | ||
| 36 | #define IRQ_LOCOMO_KEY (0) | ||
| 37 | #define IRQ_LOCOMO_GPIO (1) | ||
| 38 | #define IRQ_LOCOMO_LT (2) | ||
| 39 | #define IRQ_LOCOMO_SPI (3) | ||
| 40 | |||
| 35 | /* M62332 output channel selection */ | 41 | /* M62332 output channel selection */ |
| 36 | #define M62332_EVR_CH 1 /* M62332 volume channel number */ | 42 | #define M62332_EVR_CH 1 /* M62332 volume channel number */ |
| 37 | /* 0 : CH.1 , 1 : CH. 2 */ | 43 | /* 0 : CH.1 , 1 : CH. 2 */ |
| @@ -58,6 +64,7 @@ struct locomo { · 20 unmodified lines | |||
| 58 | struct device *dev; | 64 | struct device *dev; |
| 59 | unsigned long phys; | 65 | unsigned long phys; |
| 60 | unsigned int irq; | 66 | unsigned int irq; |
| 67 | int irq_base; | ||
| 61 | spinlock_t lock; | 68 | spinlock_t lock; |
| 62 | void __iomem *base; | 69 | void __iomem *base; |
| 63 | #ifdef CONFIG_PM | 70 | #ifdef CONFIG_PM |
| @@ -81,9 +88,7 @@ struct locomo_dev_info { · 17 unmodified lines | |||
| 81 | static struct locomo_dev_info locomo_devices[] = { | 88 | static struct locomo_dev_info locomo_devices[] = { |
| 82 | { | 89 | { |
| 83 | .devid = LOCOMO_DEVID_KEYBOARD, | 90 | .devid = LOCOMO_DEVID_KEYBOARD, |
| 84 | .irq = { | 91 | .irq = { IRQ_LOCOMO_KEY }, |
| 85 | IRQ_LOCOMO_KEY, | ||
| 86 | }, | ||
| 87 | .name = "locomo-keyboard", | 92 | .name = "locomo-keyboard", |
| 88 | .offset = LOCOMO_KEYBOARD, | 93 | .offset = LOCOMO_KEYBOARD, |
| 89 | .length = 16, | 94 | .length = 16, |
| @@ -133,53 +138,20 @@ static struct locomo_dev_info locomo_devices[] = { · 43 unmodified lines | |||
| 133 | }, | 138 | }, |
| 134 | }; | 139 | }; |
| 135 | 140 | ||
| 136 | |||
| 137 | /** LoCoMo interrupt handling stuff. | ||
| 138 | * NOTE: LoCoMo has a 1 to many mapping on all of its IRQs. | ||
| 139 | * that is, there is only one real hardware interrupt | ||
| 140 | * we determine which interrupt it is by reading some IO memory. | ||
| 141 | * We have two levels of expansion, first in the handler for the | ||
| 142 | * hardware interrupt we generate an interrupt | ||
| 143 | * IRQ_LOCOMO_*_BASE and those handlers generate more interrupts | ||
| 144 | * | ||
| 145 | * hardware irq reads LOCOMO_ICR & 0x0f00 | ||
| 146 | * IRQ_LOCOMO_KEY_BASE | ||
| 147 | * IRQ_LOCOMO_GPIO_BASE | ||
| 148 | * IRQ_LOCOMO_LT_BASE | ||
| 149 | * IRQ_LOCOMO_SPI_BASE | ||
| 150 | * IRQ_LOCOMO_KEY_BASE reads LOCOMO_KIC & 0x0001 | ||
| 151 | * IRQ_LOCOMO_KEY | ||
| 152 | * IRQ_LOCOMO_GPIO_BASE reads LOCOMO_GIR & LOCOMO_GPD & 0xffff | ||
| 153 | * IRQ_LOCOMO_GPIO[0-15] | ||
| 154 | * IRQ_LOCOMO_LT_BASE reads LOCOMO_LTINT & 0x0001 | ||
| 155 | * IRQ_LOCOMO_LT | ||
| 156 | * IRQ_LOCOMO_SPI_BASE reads LOCOMO_SPIIR & 0x000F | ||
| 157 | * IRQ_LOCOMO_SPI_RFR | ||
| 158 | * IRQ_LOCOMO_SPI_RFW | ||
| 159 | * IRQ_LOCOMO_SPI_OVRN | ||
| 160 | * IRQ_LOCOMO_SPI_TEND | ||
| 161 | */ | ||
| 162 | |||
| 163 | #define LOCOMO_IRQ_START (IRQ_LOCOMO_KEY_BASE) | ||
| 164 | #define LOCOMO_IRQ_KEY_START (IRQ_LOCOMO_KEY) | ||
| 165 | #define LOCOMO_IRQ_GPIO_START (IRQ_LOCOMO_GPIO0) | ||
| 166 | #define LOCOMO_IRQ_LT_START (IRQ_LOCOMO_LT) | ||
| 167 | #define LOCOMO_IRQ_SPI_START (IRQ_LOCOMO_SPI_RFR) | ||
| 168 | |||
| 169 | static void locomo_handler(unsigned int irq, struct irq_desc *desc) | 141 | static void locomo_handler(unsigned int irq, struct irq_desc *desc) |
| 170 | { | 142 | { |
| 143 | struct locomo *lchip = get_irq_chip_data(irq); | ||
| 171 | int req, i; | 144 | int req, i; |
| 172 | void __iomem *mapbase = get_irq_chip_data(irq); | ||
| 173 | 145 | ||
| 174 | /* Acknowledge the parent IRQ */ | 146 | /* Acknowledge the parent IRQ */ |
| 175 | desc->chip->ack(irq); | 147 | desc->chip->ack(irq); |
| 176 | 148 | ||
| 177 | /* check why this interrupt was generated */ | 149 | /* check why this interrupt was generated */ |
| 178 | req = locomo_readl(mapbase + LOCOMO_ICR) & 0x0f00; | 150 | req = locomo_readl(lchip->base + LOCOMO_ICR) & 0x0f00; |
| 179 | 151 | ||
| 180 | if (req) { | 152 | if (req) { |
| 181 | /* generate the next interrupt(s) */ | 153 | /* generate the next interrupt(s) */ |
| 182 | irq = LOCOMO_IRQ_START; | 154 | irq = lchip->irq_base; |
| 183 | for (i = 0; i <= 3; i++, irq++) { | 155 | for (i = 0; i <= 3; i++, irq++) { |
| 184 | if (req & (0x0100 << i)) { | 156 | if (req & (0x0100 << i)) { |
| 185 | generic_handle_irq(irq); | 157 | generic_handle_irq(irq); |
| @@ -195,20 +167,20 @@ static void locomo_ack_irq(unsigned int irq) · 9 unmodified lines | |||
| 195 | 167 | ||
| 196 | static void locomo_mask_irq(unsigned int irq) | 168 | static void locomo_mask_irq(unsigned int irq) |
| 197 | { | 169 | { |
| 198 | void __iomem *mapbase = get_irq_chip_data(irq); | 170 | struct locomo *lchip = get_irq_chip_data(irq); |
| 199 | unsigned int r; | 171 | unsigned int r; |
| 200 | r = locomo_readl(mapbase + LOCOMO_ICR); | 172 | r = locomo_readl(lchip->base + LOCOMO_ICR); |
| 201 | r &= ~(0x0010 << (irq - LOCOMO_IRQ_START)); | 173 | r &= ~(0x0010 << (irq - lchip->irq_base)); |
| 202 | locomo_writel(r, mapbase + LOCOMO_ICR); | 174 | locomo_writel(r, lchip->base + LOCOMO_ICR); |
| 203 | } | 175 | } |
| 204 | 176 | ||
| 205 | static void locomo_unmask_irq(unsigned int irq) | 177 | static void locomo_unmask_irq(unsigned int irq) |
| 206 | { | 178 | { |
| 207 | void __iomem *mapbase = get_irq_chip_data(irq); | 179 | struct locomo *lchip = get_irq_chip_data(irq); |
| 208 | unsigned int r; | 180 | unsigned int r; |
| 209 | r = locomo_readl(mapbase + LOCOMO_ICR); | 181 | r = locomo_readl(lchip->base + LOCOMO_ICR); |
| 210 | r |= (0x0010 << (irq - LOCOMO_IRQ_START)); | 182 | r |= (0x0010 << (irq - lchip->irq_base)); |
| 211 | locomo_writel(r, mapbase + LOCOMO_ICR); | 183 | locomo_writel(r, lchip->base + LOCOMO_ICR); |
| 212 | } | 184 | } |
| 213 | 185 | ||
| 214 | static struct irq_chip locomo_chip = { | 186 | static struct irq_chip locomo_chip = { |
| @@ -218,297 +190,22 @@ static struct irq_chip locomo_chip = { · 3 unmodified lines | |||
| 218 | .unmask = locomo_unmask_irq, | 190 | .unmask = locomo_unmask_irq, |
| 219 | }; | 191 | }; |
| 220 | 192 | ||
| 221 | static void locomo_key_handler(unsigned int irq, struct irq_desc *desc) | ||
| 222 | { | ||
| 223 | void __iomem *mapbase = get_irq_chip_data(irq); | ||
| 224 | |||
| 225 | if (locomo_readl(mapbase + LOCOMO_KEYBOARD + LOCOMO_KIC) & 0x0001) { | ||
| 226 | generic_handle_irq(LOCOMO_IRQ_KEY_START); | ||
| 227 | } | ||
| 228 | } | ||
| 229 | |||
| 230 | static void locomo_key_ack_irq(unsigned int irq) | ||
| 231 | { | ||
| 232 | void __iomem *mapbase = get_irq_chip_data(irq); | ||
| 233 | unsigned int r; | ||
| 234 | r = locomo_readl(mapbase + LOCOMO_KEYBOARD + LOCOMO_KIC); | ||
| 235 | r &= ~(0x0100 << (irq - LOCOMO_IRQ_KEY_START)); | ||
| 236 | locomo_writel(r, mapbase + LOCOMO_KEYBOARD + LOCOMO_KIC); | ||
| 237 | } | ||
| 238 | |||
| 239 | static void locomo_key_mask_irq(unsigned int irq) | ||
| 240 | { | ||
| 241 | void __iomem *mapbase = get_irq_chip_data(irq); | ||
| 242 | unsigned int r; | ||
| 243 | r = locomo_readl(mapbase + LOCOMO_KEYBOARD + LOCOMO_KIC); | ||
| 244 | r &= ~(0x0010 << (irq - LOCOMO_IRQ_KEY_START)); | ||
| 245 | locomo_writel(r, mapbase + LOCOMO_KEYBOARD + LOCOMO_KIC); | ||
| 246 | } | ||
| 247 | |||
| 248 | static void locomo_key_unmask_irq(unsigned int irq) | ||
| 249 | { | ||
| 250 | void __iomem *mapbase = get_irq_chip_data(irq); | ||
| 251 | unsigned int r; | ||
| 252 | r = locomo_readl(mapbase + LOCOMO_KEYBOARD + LOCOMO_KIC); | ||
| 253 | r |= (0x0010 << (irq - LOCOMO_IRQ_KEY_START)); | ||
| 254 | locomo_writel(r, mapbase + LOCOMO_KEYBOARD + LOCOMO_KIC); | ||
| 255 | } | ||
| 256 | |||
| 257 | static struct irq_chip locomo_key_chip = { | ||
| 258 | .name = "LOCOMO-key", | ||
| 259 | .ack = locomo_key_ack_irq, | ||
| 260 | .mask = locomo_key_mask_irq, | ||
| 261 | .unmask = locomo_key_unmask_irq, | ||
| 262 | }; | ||
| 263 | |||
| 264 | static void locomo_gpio_handler(unsigned int irq, struct irq_desc *desc) | ||
| 265 | { | ||
| 266 | int req, i; | ||
| 267 | void __iomem *mapbase = get_irq_chip_data(irq); | ||
| 268 | |||
| 269 | req = locomo_readl(mapbase + LOCOMO_GIR) & | ||
| 270 | locomo_readl(mapbase + LOCOMO_GPD) & | ||
| 271 | 0xffff; | ||
| 272 | |||
| 273 | if (req) { | ||
| 274 | irq = LOCOMO_IRQ_GPIO_START; | ||
| 275 | for (i = 0; i <= 15; i++, irq++) { | ||
| 276 | if (req & (0x0001 << i)) { | ||
| 277 | generic_handle_irq(irq); | ||
| 278 | } | ||
| 279 | } | ||
| 280 | } | ||
| 281 | } | ||
| 282 | |||
| 283 | static void locomo_gpio_ack_irq(unsigned int irq) | ||
| 284 | { | ||
| 285 | void __iomem *mapbase = get_irq_chip_data(irq); | ||
| 286 | unsigned int r; | ||
| 287 | r = locomo_readl(mapbase + LOCOMO_GWE); | ||
| 288 | r |= (0x0001 << (irq - LOCOMO_IRQ_GPIO_START)); | ||
| 289 | locomo_writel(r, mapbase + LOCOMO_GWE); | ||
| 290 | |||
| 291 | r = locomo_readl(mapbase + LOCOMO_GIS); | ||
| 292 | r &= ~(0x0001 << (irq - LOCOMO_IRQ_GPIO_START)); | ||
| 293 | locomo_writel(r, mapbase + LOCOMO_GIS); | ||
| 294 | |||
| 295 | r = locomo_readl(mapbase + LOCOMO_GWE); | ||
| 296 | r &= ~(0x0001 << (irq - LOCOMO_IRQ_GPIO_START)); | ||
| 297 | locomo_writel(r, mapbase + LOCOMO_GWE); | ||
| 298 | } | ||
| 299 | |||
| 300 | static void locomo_gpio_mask_irq(unsigned int irq) | ||
| 301 | { | ||
| 302 | void __iomem *mapbase = get_irq_chip_data(irq); | ||
| 303 | unsigned int r; | ||
| 304 | r = locomo_readl(mapbase + LOCOMO_GIE); | ||
| 305 | r &= ~(0x0001 << (irq - LOCOMO_IRQ_GPIO_START)); | ||
| 306 | locomo_writel(r, mapbase + LOCOMO_GIE); | ||
| 307 | } | ||
| 308 | |||
| 309 | static void locomo_gpio_unmask_irq(unsigned int irq) | ||
| 310 | { | ||
| 311 | void __iomem *mapbase = get_irq_chip_data(irq); | ||
| 312 | unsigned int r; | ||
| 313 | r = locomo_readl(mapbase + LOCOMO_GIE); | ||
| 314 | r |= (0x0001 << (irq - LOCOMO_IRQ_GPIO_START)); | ||
| 315 | locomo_writel(r, mapbase + LOCOMO_GIE); | ||
| 316 | } | ||
| 317 | |||
| 318 | static int GPIO_IRQ_rising_edge; | ||
| 319 | static int GPIO_IRQ_falling_edge; | ||
| 320 | |||
| 321 | static int locomo_gpio_type(unsigned int irq, unsigned int type) | ||
| 322 | { | ||
| 323 | unsigned int mask; | ||
| 324 | void __iomem *mapbase = get_irq_chip_data(irq); | ||
| 325 | |||
| 326 | mask = 1 << (irq - LOCOMO_IRQ_GPIO_START); | ||
| 327 | |||
| 328 | if (type == IRQ_TYPE_PROBE) { | ||
| 329 | if ((GPIO_IRQ_rising_edge | GPIO_IRQ_falling_edge) & mask) | ||
| 330 | return 0; | ||
| 331 | type = IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING; | ||
| 332 | } | ||
| 333 | |||
| 334 | if (type & IRQ_TYPE_EDGE_RISING) | ||
| 335 | GPIO_IRQ_rising_edge |= mask; | ||
| 336 | else | ||
| 337 | GPIO_IRQ_rising_edge &= ~mask; | ||
| 338 | if (type & IRQ_TYPE_EDGE_FALLING) | ||
| 339 | GPIO_IRQ_falling_edge |= mask; | ||
| 340 | else | ||
| 341 | GPIO_IRQ_falling_edge &= ~mask; | ||
| 342 | locomo_writel(GPIO_IRQ_rising_edge, mapbase + LOCOMO_GRIE); | ||
| 343 | locomo_writel(GPIO_IRQ_falling_edge, mapbase + LOCOMO_GFIE); | ||
| 344 | |||
| 345 | return 0; | ||
| 346 | } | ||
| 347 | |||
| 348 | static struct irq_chip locomo_gpio_chip = { | ||
| 349 | .name = "LOCOMO-gpio", | ||
| 350 | .ack = locomo_gpio_ack_irq, | ||
| 351 | .mask = locomo_gpio_mask_irq, | ||
| 352 | .unmask = locomo_gpio_unmask_irq, | ||
| 353 | .set_type = locomo_gpio_type, | ||
| 354 | }; | ||
| 355 | |||
| 356 | static void locomo_lt_handler(unsigned int irq, struct irq_desc *desc) | ||
| 357 | { | ||
| 358 | void __iomem *mapbase = get_irq_chip_data(irq); | ||
| 359 | |||
| 360 | if (locomo_readl(mapbase + LOCOMO_LTINT) & 0x0001) { | ||
| 361 | generic_handle_irq(LOCOMO_IRQ_LT_START); | ||
| 362 | } | ||
| 363 | } | ||
| 364 | |||
| 365 | static void locomo_lt_ack_irq(unsigned int irq) | ||
| 366 | { | ||
| 367 | void __iomem *mapbase = get_irq_chip_data(irq); | ||
| 368 | unsigned int r; | ||
| 369 | r = locomo_readl(mapbase + LOCOMO_LTINT); | ||
| 370 | r &= ~(0x0100 << (irq - LOCOMO_IRQ_LT_START)); | ||
| 371 | locomo_writel(r, mapbase + LOCOMO_LTINT); | ||
| 372 | } | ||
| 373 | |||
| 374 | static void locomo_lt_mask_irq(unsigned int irq) | ||
| 375 | { | ||
| 376 | void __iomem *mapbase = get_irq_chip_data(irq); | ||
| 377 | unsigned int r; | ||
| 378 | r = locomo_readl(mapbase + LOCOMO_LTINT); | ||
| 379 | r &= ~(0x0010 << (irq - LOCOMO_IRQ_LT_START)); | ||
| 380 | locomo_writel(r, mapbase + LOCOMO_LTINT); | ||
| 381 | } | ||
| 382 | |||
| 383 | static void locomo_lt_unmask_irq(unsigned int irq) | ||
| 384 | { | ||
| 385 | void __iomem *mapbase = get_irq_chip_data(irq); | ||
| 386 | unsigned int r; | ||
| 387 | r = locomo_readl(mapbase + LOCOMO_LTINT); | ||
| 388 | r |= (0x0010 << (irq - LOCOMO_IRQ_LT_START)); | ||
| 389 | locomo_writel(r, mapbase + LOCOMO_LTINT); | ||
| 390 | } | ||
| 391 | |||
| 392 | static struct irq_chip locomo_lt_chip = { | ||
| 393 | .name = "LOCOMO-lt", | ||
| 394 | .ack = locomo_lt_ack_irq, | ||
| 395 | .mask = locomo_lt_mask_irq, | ||
| 396 | .unmask = locomo_lt_unmask_irq, | ||
| 397 | }; | ||
| 398 | |||
| 399 | static void locomo_spi_handler(unsigned int irq, struct irq_desc *desc) | ||
| 400 | { | ||
| 401 | int req, i; | ||
| 402 | void __iomem *mapbase = get_irq_chip_data(irq); | ||
| 403 | |||
| 404 | req = locomo_readl(mapbase + LOCOMO_SPI + LOCOMO_SPIIR) & 0x000F; | ||
| 405 | if (req) { | ||
| 406 | irq = LOCOMO_IRQ_SPI_START; | ||
| 407 | |||
| 408 | for (i = 0; i <= 3; i++, irq++) { | ||
| 409 | if (req & (0x0001 << i)) { | ||
| 410 | generic_handle_irq(irq); | ||
| 411 | } | ||
| 412 | } | ||
| 413 | } | ||
| 414 | } | ||
| 415 | |||
| 416 | static void locomo_spi_ack_irq(unsigned int irq) | ||
| 417 | { | ||
| 418 | void __iomem *mapbase = get_irq_chip_data(irq); | ||
| 419 | unsigned int r; | ||
| 420 | r = locomo_readl(mapbase + LOCOMO_SPI + LOCOMO_SPIWE); | ||
| 421 | r |= (0x0001 << (irq - LOCOMO_IRQ_SPI_START)); | ||
| 422 | locomo_writel(r, mapbase + LOCOMO_SPI + LOCOMO_SPIWE); | ||
| 423 | |||
| 424 | r = locomo_readl(mapbase + LOCOMO_SPI + LOCOMO_SPIIS); | ||
| 425 | r &= ~(0x0001 << (irq - LOCOMO_IRQ_SPI_START)); | ||
| 426 | locomo_writel(r, mapbase + LOCOMO_SPI + LOCOMO_SPIIS); | ||
| 427 | |||
| 428 | r = locomo_readl(mapbase + LOCOMO_SPI + LOCOMO_SPIWE); | ||
| 429 | r &= ~(0x0001 << (irq - LOCOMO_IRQ_SPI_START)); | ||
| 430 | locomo_writel(r, mapbase + LOCOMO_SPI + LOCOMO_SPIWE); | ||
| 431 | } | ||
| 432 | |||
| 433 | static void locomo_spi_mask_irq(unsigned int irq) | ||
| 434 | { | ||
| 435 | void __iomem *mapbase = get_irq_chip_data(irq); | ||
| 436 | unsigned int r; | ||
| 437 | r = locomo_readl(mapbase + LOCOMO_SPI + LOCOMO_SPIIE); | ||
| 438 | r &= ~(0x0001 << (irq - LOCOMO_IRQ_SPI_START)); | ||
| 439 | locomo_writel(r, mapbase + LOCOMO_SPI + LOCOMO_SPIIE); | ||
| 440 | } | ||
| 441 | |||
| 442 | static void locomo_spi_unmask_irq(unsigned int irq) | ||
| 443 | { | ||
| 444 | void __iomem *mapbase = get_irq_chip_data(irq); | ||
| 445 | unsigned int r; | ||
| 446 | r = locomo_readl(mapbase + LOCOMO_SPI + LOCOMO_SPIIE); | ||
| 447 | r |= (0x0001 << (irq - LOCOMO_IRQ_SPI_START)); | ||
| 448 | locomo_writel(r, mapbase + LOCOMO_SPI + LOCOMO_SPIIE); | ||
| 449 | } | ||
| 450 | |||
| 451 | static struct irq_chip locomo_spi_chip = { | ||
| 452 | .name = "LOCOMO-spi", | ||
| 453 | .ack = locomo_spi_ack_irq, | ||
| 454 | .mask = locomo_spi_mask_irq, | ||
| 455 | .unmask = locomo_spi_unmask_irq, | ||
| 456 | }; | ||
| 457 | |||
| 458 | static void locomo_setup_irq(struct locomo *lchip) | 193 | static void locomo_setup_irq(struct locomo *lchip) |
| 459 | { | 194 | { |
| 460 | int irq; | 195 | int irq = lchip->irq_base; |
| 461 | void __iomem *irqbase = lchip->base; | ||
| 462 | 196 | ||
| 463 | /* | 197 | /* |
| 464 | * Install handler for IRQ_LOCOMO_HW. | 198 | * Install handler for IRQ_LOCOMO_HW. |
| 465 | */ | 199 | */ |
| 466 | set_irq_type(lchip->irq, IRQ_TYPE_EDGE_FALLING); | 200 | set_irq_type(lchip->irq, IRQ_TYPE_EDGE_FALLING); |
| 467 | set_irq_chip_data(lchip->irq, irqbase); | 201 | set_irq_chip_data(lchip->irq, lchip); |
| 468 | set_irq_chained_handler(lchip->irq, locomo_handler); | 202 | set_irq_chained_handler(lchip->irq, locomo_handler); |
| 469 | 203 | ||
| 470 | /* Install handlers for IRQ_LOCOMO_*_BASE */ | 204 | /* Install handlers for IRQ_LOCOMO_* */ |
| 471 | set_irq_chip(IRQ_LOCOMO_KEY_BASE, &locomo_chip); | 205 | for ( ; irq <= lchip->irq_base + 3; irq++) { |
| 472 | set_irq_chip_data(IRQ_LOCOMO_KEY_BASE, irqbase); | 206 | set_irq_chip(irq, &locomo_chip); |
| 473 | set_irq_chained_handler(IRQ_LOCOMO_KEY_BASE, locomo_key_handler); | 207 | set_irq_chip_data(irq, lchip); |
| 474 | 208 | set_irq_handler(irq, handle_level_irq); | |
| 475 | set_irq_chip(IRQ_LOCOMO_GPIO_BASE, &locomo_chip); | ||
| 476 | set_irq_chip_data(IRQ_LOCOMO_GPIO_BASE, irqbase); | ||
| 477 | set_irq_chained_handler(IRQ_LOCOMO_GPIO_BASE, locomo_gpio_handler); | ||
| 478 | |||
| 479 | set_irq_chip(IRQ_LOCOMO_LT_BASE, &locomo_chip); | ||
| 480 | set_irq_chip_data(IRQ_LOCOMO_LT_BASE, irqbase); | ||
| 481 | set_irq_chained_handler(IRQ_LOCOMO_LT_BASE, locomo_lt_handler); | ||
| 482 | |||
| 483 | set_irq_chip(IRQ_LOCOMO_SPI_BASE, &locomo_chip); | ||
| 484 | set_irq_chip_data(IRQ_LOCOMO_SPI_BASE, irqbase); | ||
| 485 | set_irq_chained_handler(IRQ_LOCOMO_SPI_BASE, locomo_spi_handler); | ||
| 486 | |||
| 487 | /* install handlers for IRQ_LOCOMO_KEY_BASE generated interrupts */ | ||
| 488 | set_irq_chip(LOCOMO_IRQ_KEY_START, &locomo_key_chip); | ||
| 489 | set_irq_chip_data(LOCOMO_IRQ_KEY_START, irqbase); | ||
| 490 | set_irq_handler(LOCOMO_IRQ_KEY_START, handle_edge_irq); | ||
| 491 | set_irq_flags(LOCOMO_IRQ_KEY_START, IRQF_VALID | IRQF_PROBE); | ||
| 492 | |||
| 493 | /* install handlers for IRQ_LOCOMO_GPIO_BASE generated interrupts */ | ||
| 494 | for (irq = LOCOMO_IRQ_GPIO_START; irq < LOCOMO_IRQ_GPIO_START + 16; irq++) { | ||
| 495 | set_irq_chip(irq, &locomo_gpio_chip); | ||
| 496 | set_irq_chip_data(irq, irqbase); | ||
| 497 | set_irq_handler(irq, handle_edge_irq); | ||
| 498 | set_irq_flags(irq, IRQF_VALID | IRQF_PROBE); | ||
| 499 | } | ||
| 500 | |||
| 501 | /* install handlers for IRQ_LOCOMO_LT_BASE generated interrupts */ | ||
| 502 | set_irq_chip(LOCOMO_IRQ_LT_START, &locomo_lt_chip); | ||
| 503 | set_irq_chip_data(LOCOMO_IRQ_LT_START, irqbase); | ||
| 504 | set_irq_handler(LOCOMO_IRQ_LT_START, handle_edge_irq); | ||
| 505 | set_irq_flags(LOCOMO_IRQ_LT_START, IRQF_VALID | IRQF_PROBE); | ||
| 506 | |||
| 507 | /* install handlers for IRQ_LOCOMO_SPI_BASE generated interrupts */ | ||
| 508 | for (irq = LOCOMO_IRQ_SPI_START; irq < LOCOMO_IRQ_SPI_START + 4; irq++) { | ||
| 509 | set_irq_chip(irq, &locomo_spi_chip); | ||
| 510 | set_irq_chip_data(irq, irqbase); | ||
| 511 | set_irq_handler(irq, handle_edge_irq); | ||
| 512 | set_irq_flags(irq, IRQF_VALID | IRQF_PROBE); | 209 | set_irq_flags(irq, IRQF_VALID | IRQF_PROBE); |
| 513 | } | 210 | } |
| 514 | } | 211 | } |
| @@ -555,7 +252,8 @@ locomo_init_one_child(struct locomo *lchip, struct locomo_dev_info *info) · 40 unmodified lines | |||
| 555 | dev->mapbase = 0; | 252 | dev->mapbase = 0; |
| 556 | dev->length = info->length; | 253 | dev->length = info->length; |
| 557 | 254 | ||
| 558 | memmove(dev->irq, info->irq, sizeof(dev->irq)); | 255 | dev->irq[0] = (lchip->irq_base == NO_IRQ) ? |
| 256 | NO_IRQ : lchip->irq_base + info->irq[0]; | ||
| 559 | 257 | ||
| 560 | ret = device_register(&dev->dev); | 258 | ret = device_register(&dev->dev); |
| 561 | if (ret) { | 259 | if (ret) { |
| @@ -592,7 +290,7 @@ static int locomo_suspend(struct platform_device *dev, pm_message_t state) · 30 unmodified lines | |||
| 592 | save->LCM_GPO = locomo_readl(lchip->base + LOCOMO_GPO); /* GPIO */ | 290 | save->LCM_GPO = locomo_readl(lchip->base + LOCOMO_GPO); /* GPIO */ |
| 593 | locomo_writel(0x00, lchip->base + LOCOMO_GPO); | 291 | locomo_writel(0x00, lchip->base + LOCOMO_GPO); |
| 594 | save->LCM_SPICT = locomo_readl(lchip->base + LOCOMO_SPI + LOCOMO_SPICT); /* SPI */ | 292 | save->LCM_SPICT = locomo_readl(lchip->base + LOCOMO_SPI + LOCOMO_SPICT); /* SPI */ |
| 595 | locomo_writel(0x40, lchip->base + LOCOMO_SPICT); | 293 | locomo_writel(0x40, lchip->base + LOCOMO_SPI + LOCOMO_SPICT); |
| 596 | save->LCM_GPE = locomo_readl(lchip->base + LOCOMO_GPE); /* GPIO */ | 294 | save->LCM_GPE = locomo_readl(lchip->base + LOCOMO_GPE); /* GPIO */ |
| 597 | locomo_writel(0x00, lchip->base + LOCOMO_GPE); | 295 | locomo_writel(0x00, lchip->base + LOCOMO_GPE); |
| 598 | save->LCM_ASD = locomo_readl(lchip->base + LOCOMO_ASD); /* ADSTART */ | 296 | save->LCM_ASD = locomo_readl(lchip->base + LOCOMO_ASD); /* ADSTART */ |
| @@ -672,6 +370,7 @@ static int locomo_resume(struct platform_device *dev) · 73 unmodified lines | |||
| 672 | static int | 370 | static int |
| 673 | __locomo_probe(struct device *me, struct resource *mem, int irq) | 371 | __locomo_probe(struct device *me, struct resource *mem, int irq) |
| 674 | { | 372 | { |
| 373 | struct locomo_platform_data *pdata = me->platform_data; | ||
| 675 | struct locomo *lchip; | 374 | struct locomo *lchip; |
| 676 | unsigned long r; | 375 | unsigned long r; |
| 677 | int i, ret = -ENODEV; | 376 | int i, ret = -ENODEV; |
| @@ -687,6 +386,7 @@ __locomo_probe(struct device *me, struct resource *mem, int irq) · 9 unmodified lines | |||
| 687 | 386 | ||
| 688 | lchip->phys = mem->start; | 387 | lchip->phys = mem->start; |
| 689 | lchip->irq = irq; | 388 | lchip->irq = irq; |
| 389 | lchip->irq_base = (pdata) ? pdata->irq_base : NO_IRQ; | ||
| 690 | 390 | ||
| 691 | /* | 391 | /* |
| 692 | * Map the whole region. This also maps the | 392 | * Map the whole region. This also maps the |
| @@ -718,7 +418,7 @@ __locomo_probe(struct device *me, struct resource *mem, int irq) · 25 unmodified lines | |||
| 718 | /* Longtime timer */ | 418 | /* Longtime timer */ |
| 719 | locomo_writel(0, lchip->base + LOCOMO_LTINT); | 419 | locomo_writel(0, lchip->base + LOCOMO_LTINT); |
| 720 | /* SPI */ | 420 | /* SPI */ |
| 721 | locomo_writel(0, lchip->base + LOCOMO_SPIIE); | 421 | locomo_writel(0, lchip->base + LOCOMO_SPI + LOCOMO_SPIIE); |
| 722 | 422 | ||
| 723 | locomo_writel(6 + 8 + 320 + 30 - 10, lchip->base + LOCOMO_ASD); | 423 | locomo_writel(6 + 8 + 320 + 30 - 10, lchip->base + LOCOMO_ASD); |
| 724 | r = locomo_readl(lchip->base + LOCOMO_ASD); | 424 | r = locomo_readl(lchip->base + LOCOMO_ASD); |
| @@ -753,7 +453,7 @@ __locomo_probe(struct device *me, struct resource *mem, int irq) · 28 unmodified lines | |||
| 753 | * The interrupt controller must be initialised before any | 453 | * The interrupt controller must be initialised before any |
| 754 | * other device to ensure that the interrupts are available. | 454 | * other device to ensure that the interrupts are available. |
| 755 | */ | 455 | */ |
| 756 | if (lchip->irq != NO_IRQ) | 456 | if (lchip->irq != NO_IRQ && lchip->irq_base != NO_IRQ) |
| 757 | locomo_setup_irq(lchip); | 457 | locomo_setup_irq(lchip); |
| 758 | 458 | ||
| 759 | for (i = 0; i < ARRAY_SIZE(locomo_devices); i++) | 459 | for (i = 0; i < ARRAY_SIZE(locomo_devices); i++) |
| @@ -1007,7 +707,7 @@ void locomo_m62332_senddata(struct locomo_dev *ldev, unsigned int dac_data, int · 247 unmodified lines | |||
| 1007 | udelay(DAC_SCL_HIGH_HOLD_TIME); /* 4.7 usec */ | 707 | udelay(DAC_SCL_HIGH_HOLD_TIME); /* 4.7 usec */ |
| 1008 | if (locomo_readl(mapbase + LOCOMO_DAC) & LOCOMO_DAC_SDAOEB) { /* High is error */ | 708 | if (locomo_readl(mapbase + LOCOMO_DAC) & LOCOMO_DAC_SDAOEB) { /* High is error */ |
| 1009 | printk(KERN_WARNING "locomo: m62332_senddata Error 1\n"); | 709 | printk(KERN_WARNING "locomo: m62332_senddata Error 1\n"); |
| 1010 | return; | 710 | goto out; |
| 1011 | } | 711 | } |
| 1012 | 712 | ||
| 1013 | /* Send Sub address (LSB is channel select) */ | 713 | /* Send Sub address (LSB is channel select) */ |
| @@ -1035,7 +735,7 @@ void locomo_m62332_senddata(struct locomo_dev *ldev, unsigned int dac_data, int · 21 unmodified lines | |||
| 1035 | udelay(DAC_SCL_HIGH_HOLD_TIME); /* 4.7 usec */ | 735 | udelay(DAC_SCL_HIGH_HOLD_TIME); /* 4.7 usec */ |
| 1036 | if (locomo_readl(mapbase + LOCOMO_DAC) & LOCOMO_DAC_SDAOEB) { /* High is error */ | 736 | if (locomo_readl(mapbase + LOCOMO_DAC) & LOCOMO_DAC_SDAOEB) { /* High is error */ |
| 1037 | printk(KERN_WARNING "locomo: m62332_senddata Error 2\n"); | 737 | printk(KERN_WARNING "locomo: m62332_senddata Error 2\n"); |
| 1038 | return; | 738 | goto out; |
| 1039 | } | 739 | } |
| 1040 | 740 | ||
| 1041 | /* Send DAC data */ | 741 | /* Send DAC data */ |
| @@ -1060,9 +760,9 @@ void locomo_m62332_senddata(struct locomo_dev *ldev, unsigned int dac_data, int · 18 unmodified lines | |||
| 1060 | udelay(DAC_SCL_HIGH_HOLD_TIME); /* 4.7 usec */ | 760 | udelay(DAC_SCL_HIGH_HOLD_TIME); /* 4.7 usec */ |
| 1061 | if (locomo_readl(mapbase + LOCOMO_DAC) & LOCOMO_DAC_SDAOEB) { /* High is error */ | 761 | if (locomo_readl(mapbase + LOCOMO_DAC) & LOCOMO_DAC_SDAOEB) { /* High is error */ |
| 1062 | printk(KERN_WARNING "locomo: m62332_senddata Error 3\n"); | 762 | printk(KERN_WARNING "locomo: m62332_senddata Error 3\n"); |
| 1063 | return; | ||
| 1064 | } | 763 | } |
| 1065 | 764 | ||
| 765 | out: | ||
| 1066 | /* stop */ | 766 | /* stop */ |
| 1067 | r = locomo_readl(mapbase + LOCOMO_DAC); | 767 | r = locomo_readl(mapbase + LOCOMO_DAC); |
| 1068 | r &= ~(LOCOMO_DAC_SCLOEB); | 768 | r &= ~(LOCOMO_DAC_SCLOEB); |
| @@ -35,6 +35,58 @@ · 34 unmodified lines | |||
| 35 | 35 | ||
| 36 | #include <asm/hardware/sa1111.h> | 36 | #include <asm/hardware/sa1111.h> |
| 37 | 37 | ||
| 38 | /* SA1111 IRQs */ | ||
| 39 | #define IRQ_GPAIN0 (0) | ||
| 40 | #define IRQ_GPAIN1 (1) | ||
| 41 | #define IRQ_GPAIN2 (2) | ||
| 42 | #define IRQ_GPAIN3 (3) | ||
| 43 | #define IRQ_GPBIN0 (4) | ||
| 44 | #define IRQ_GPBIN1 (5) | ||
| 45 | #define IRQ_GPBIN2 (6) | ||
| 46 | #define IRQ_GPBIN3 (7) | ||
| 47 | #define IRQ_GPBIN4 (8) | ||
| 48 | #define IRQ_GPBIN5 (9) | ||
| 49 | #define IRQ_GPCIN0 (10) | ||
| 50 | #define IRQ_GPCIN1 (11) | ||
| 51 | #define IRQ_GPCIN2 (12) | ||
| 52 | #define IRQ_GPCIN3 (13) | ||
| 53 | #define IRQ_GPCIN4 (14) | ||
| 54 | #define IRQ_GPCIN5 (15) | ||
| 55 | #define IRQ_GPCIN6 (16) | ||
| 56 | #define IRQ_GPCIN7 (17) | ||
| 57 | #define IRQ_MSTXINT (18) | ||
| 58 | #define IRQ_MSRXINT (19) | ||
| 59 | #define IRQ_MSSTOPERRINT (20) | ||
| 60 | #define IRQ_TPTXINT (21) | ||
| 61 | #define IRQ_TPRXINT (22) | ||
| 62 | #define IRQ_TPSTOPERRINT (23) | ||
| 63 | #define SSPXMTINT (24) | ||
| 64 | #define SSPRCVINT (25) | ||
| 65 | #define SSPROR (26) | ||
| 66 | #define AUDXMTDMADONEA (32) | ||
| 67 | #define AUDRCVDMADONEA (33) | ||
| 68 | #define AUDXMTDMADONEB (34) | ||
| 69 | #define AUDRCVDMADONEB (35) | ||
| 70 | #define AUDTFSR (36) | ||
| 71 | #define AUDRFSR (37) | ||
| 72 | #define AUDTUR (38) | ||
| 73 | #define AUDROR (39) | ||
| 74 | #define AUDDTS (40) | ||
| 75 | #define AUDRDD (41) | ||
| 76 | #define AUDSTO (42) | ||
| 77 | #define IRQ_USBPWR (43) | ||
| 78 | #define IRQ_HCIM (44) | ||
| 79 | #define IRQ_HCIBUFFACC (45) | ||
| 80 | #define IRQ_HCIRMTWKP (46) | ||
| 81 | #define IRQ_NHCIMFCIR (47) | ||
| 82 | #define IRQ_USB_PORT_RESUME (48) | ||
| 83 | #define IRQ_S0_READY_NINT (49) | ||
| 84 | #define IRQ_S1_READY_NINT (50) | ||
| 85 | #define IRQ_S0_CD_VALID (51) | ||
| 86 | #define IRQ_S1_CD_VALID (52) | ||
| 87 | #define IRQ_S0_BVD1_STSCHG (53) | ||
| 88 | #define IRQ_S1_BVD1_STSCHG (54) | ||
| 89 | |||
| 38 | extern void __init sa1110_mb_enable(void); | 90 | extern void __init sa1110_mb_enable(void); |
| 39 | 91 | ||
| 40 | /* | 92 | /* |
| @@ -49,6 +101,7 @@ struct sa1111 { · 8 unmodified lines | |||
| 49 | struct clk *clk; | 101 | struct clk *clk; |
| 50 | unsigned long phys; | 102 | unsigned long phys; |
| 51 | int irq; | 103 | int irq; |
| 104 | int irq_base; /* base for cascaded on-chip IRQs */ | ||
| 52 | spinlock_t lock; | 105 | spinlock_t lock; |
| 53 | void __iomem *base; | 106 | void __iomem *base; |
| 54 | #ifdef CONFIG_PM | 107 | #ifdef CONFIG_PM |
| @@ -152,36 +205,37 @@ static void · 97 unmodified lines | |||
| 152 | sa1111_irq_handler(unsigned int irq, struct irq_desc *desc) | 205 | sa1111_irq_handler(unsigned int irq, struct irq_desc *desc) |
| 153 | { | 206 | { |
| 154 | unsigned int stat0, stat1, i; | 207 | unsigned int stat0, stat1, i; |
| 155 | void __iomem *base = get_irq_data(irq); | 208 | struct sa1111 *sachip = get_irq_data(irq); |
| 209 | void __iomem *mapbase = sachip->base + SA1111_INTC; | ||
| 156 | 210 | ||
| 157 | stat0 = sa1111_readl(base + SA1111_INTSTATCLR0); | 211 | stat0 = sa1111_readl(mapbase + SA1111_INTSTATCLR0); |
| 158 | stat1 = sa1111_readl(base + SA1111_INTSTATCLR1); | 212 | stat1 = sa1111_readl(mapbase + SA1111_INTSTATCLR1); |
| 159 | 213 | ||
| 160 | sa1111_writel(stat0, base + SA1111_INTSTATCLR0); | 214 | sa1111_writel(stat0, mapbase + SA1111_INTSTATCLR0); |
| 161 | 215 | ||
| 162 | desc->chip->ack(irq); | 216 | desc->chip->ack(irq); |
| 163 | 217 | ||
| 164 | sa1111_writel(stat1, base + SA1111_INTSTATCLR1); | 218 | sa1111_writel(stat1, mapbase + SA1111_INTSTATCLR1); |
| 165 | 219 | ||
| 166 | if (stat0 == 0 && stat1 == 0) { | 220 | if (stat0 == 0 && stat1 == 0) { |
| 167 | do_bad_IRQ(irq, desc); | 221 | do_bad_IRQ(irq, desc); |
| 168 | return; | 222 | return; |
| 169 | } | 223 | } |
| 170 | 224 | ||
| 171 | for (i = IRQ_SA1111_START; stat0; i++, stat0 >>= 1) | 225 | for (i = 0; stat0; i++, stat0 >>= 1) |
| 172 | if (stat0 & 1) | 226 | if (stat0 & 1) |
| 173 | handle_edge_irq(i, irq_desc + i); | 227 | generic_handle_irq(i + sachip->irq_base); |
| 174 | 228 | ||
| 175 | for (i = IRQ_SA1111_START + 32; stat1; i++, stat1 >>= 1) | 229 | for (i = 32; stat1; i++, stat1 >>= 1) |
| 176 | if (stat1 & 1) | 230 | if (stat1 & 1) |
| 177 | handle_edge_irq(i, irq_desc + i); | 231 | generic_handle_irq(i + sachip->irq_base); |
| 178 | 232 | ||
| 179 | /* For level-based interrupts */ | 233 | /* For level-based interrupts */ |
| 180 | desc->chip->unmask(irq); | 234 | desc->chip->unmask(irq); |
| 181 | } | 235 | } |
| 182 | 236 | ||
| 183 | #define SA1111_IRQMASK_LO(x) (1 << (x - IRQ_SA1111_START)) | 237 | #define SA1111_IRQMASK_LO(x) (1 << (x - sachip->irq_base)) |
| 184 | #define SA1111_IRQMASK_HI(x) (1 << (x - IRQ_SA1111_START - 32)) | 238 | #define SA1111_IRQMASK_HI(x) (1 << (x - sachip->irq_base - 32)) |
| 185 | 239 | ||
| 186 | static void sa1111_ack_irq(unsigned int irq) | 240 | static void sa1111_ack_irq(unsigned int irq) |
| 187 | { | 241 | { |
| @@ -189,7 +243,8 @@ static void sa1111_ack_irq(unsigned int irq) · 1 unmodified line | |||
| 189 | 243 | ||
| 190 | static void sa1111_mask_lowirq(unsigned int irq) | 244 | static void sa1111_mask_lowirq(unsigned int irq) |
| 191 | { | 245 | { |
| 192 | void __iomem *mapbase = get_irq_chip_data(irq); | 246 | struct sa1111 *sachip = get_irq_chip_data(irq); |
| 247 | void __iomem *mapbase = sachip->base + SA1111_INTC; | ||
| 193 | unsigned long ie0; | 248 | unsigned long ie0; |
| 194 | 249 | ||
| 195 | ie0 = sa1111_readl(mapbase + SA1111_INTEN0); | 250 | ie0 = sa1111_readl(mapbase + SA1111_INTEN0); |
| @@ -199,7 +254,8 @@ static void sa1111_mask_lowirq(unsigned int irq) · 3 unmodified lines | |||
| 199 | 254 | ||
| 200 | static void sa1111_unmask_lowirq(unsigned int irq) | 255 | static void sa1111_unmask_lowirq(unsigned int irq) |
| 201 | { | 256 | { |
| 202 | void __iomem *mapbase = get_irq_chip_data(irq); | 257 | struct sa1111 *sachip = get_irq_chip_data(irq); |
| 258 | void __iomem *mapbase = sachip->base + SA1111_INTC; | ||
| 203 | unsigned long ie0; | 259 | unsigned long ie0; |
| 204 | 260 | ||
| 205 | ie0 = sa1111_readl(mapbase + SA1111_INTEN0); | 261 | ie0 = sa1111_readl(mapbase + SA1111_INTEN0); |
| @@ -216,8 +272,9 @@ static void sa1111_unmask_lowirq(unsigned int irq) · 10 unmodified lines | |||
| 216 | */ | 272 | */ |
| 217 | static int sa1111_retrigger_lowirq(unsigned int irq) | 273 | static int sa1111_retrigger_lowirq(unsigned int irq) |
| 218 | { | 274 | { |
| 275 | struct sa1111 *sachip = get_irq_chip_data(irq); | ||
| 276 | void __iomem *mapbase = sachip->base + SA1111_INTC; | ||
| 219 | unsigned int mask = SA1111_IRQMASK_LO(irq); | 277 | unsigned int mask = SA1111_IRQMASK_LO(irq); |
| 220 | void __iomem *mapbase = get_irq_chip_data(irq); | ||
| 221 | unsigned long ip0; | 278 | unsigned long ip0; |
| 222 | int i; | 279 | int i; |
| 223 | 280 | ||
| @@ -237,8 +294,9 @@ static int sa1111_retrigger_lowirq(unsigned int irq) · 13 unmodified lines | |||
| 237 | 294 | ||
| 238 | static int sa1111_type_lowirq(unsigned int irq, unsigned int flags) | 295 | static int sa1111_type_lowirq(unsigned int irq, unsigned int flags) |
| 239 | { | 296 | { |
| 297 | struct sa1111 *sachip = get_irq_chip_data(irq); | ||
| 298 | void __iomem *mapbase = sachip->base + SA1111_INTC; | ||
| 240 | unsigned int mask = SA1111_IRQMASK_LO(irq); | 299 | unsigned int mask = SA1111_IRQMASK_LO(irq); |
| 241 | void __iomem *mapbase = get_irq_chip_data(irq); | ||
| 242 | unsigned long ip0; | 300 | unsigned long ip0; |
| 243 | 301 | ||
| 244 | if (flags == IRQ_TYPE_PROBE) | 302 | if (flags == IRQ_TYPE_PROBE) |
| @@ -260,8 +318,9 @@ static int sa1111_type_lowirq(unsigned int irq, unsigned int flags) · 15 unmodified lines | |||
| 260 | 318 | ||
| 261 | static int sa1111_wake_lowirq(unsigned int irq, unsigned int on) | 319 | static int sa1111_wake_lowirq(unsigned int irq, unsigned int on) |
| 262 | { | 320 | { |
| 321 | struct sa1111 *sachip = get_irq_chip_data(irq); | ||
| 322 | void __iomem *mapbase = sachip->base + SA1111_INTC; | ||
| 263 | unsigned int mask = SA1111_IRQMASK_LO(irq); | 323 | unsigned int mask = SA1111_IRQMASK_LO(irq); |
| 264 | void __iomem *mapbase = get_irq_chip_data(irq); | ||
| 265 | unsigned long we0; | 324 | unsigned long we0; |
| 266 | 325 | ||
| 267 | we0 = sa1111_readl(mapbase + SA1111_WAKEEN0); | 326 | we0 = sa1111_readl(mapbase + SA1111_WAKEEN0); |
| @@ -286,7 +345,8 @@ static struct irq_chip sa1111_low_chip = { · 18 unmodified lines | |||
| 286 | 345 | ||
| 287 | static void sa1111_mask_highirq(unsigned int irq) | 346 | static void sa1111_mask_highirq(unsigned int irq) |
| 288 | { | 347 | { |
| 289 | void __iomem *mapbase = get_irq_chip_data(irq); | 348 | struct sa1111 *sachip = get_irq_chip_data(irq); |
| 349 | void __iomem *mapbase = sachip->base + SA1111_INTC; | ||
| 290 | unsigned long ie1; | 350 | unsigned long ie1; |
| 291 | 351 | ||
| 292 | ie1 = sa1111_readl(mapbase + SA1111_INTEN1); | 352 | ie1 = sa1111_readl(mapbase + SA1111_INTEN1); |
| @@ -296,7 +356,8 @@ static void sa1111_mask_highirq(unsigned int irq) · 3 unmodified lines | |||
| 296 | 356 | ||
| 297 | static void sa1111_unmask_highirq(unsigned int irq) | 357 | static void sa1111_unmask_highirq(unsigned int irq) |
| 298 | { | 358 | { |
| 299 | void __iomem *mapbase = get_irq_chip_data(irq); | 359 | struct sa1111 *sachip = get_irq_chip_data(irq); |
| 360 | void __iomem *mapbase = sachip->base + SA1111_INTC; | ||
| 300 | unsigned long ie1; | 361 | unsigned long ie1; |
| 301 | 362 | ||
| 302 | ie1 = sa1111_readl(mapbase + SA1111_INTEN1); | 363 | ie1 = sa1111_readl(mapbase + SA1111_INTEN1); |
| @@ -313,8 +374,9 @@ static void sa1111_unmask_highirq(unsigned int irq) · 10 unmodified lines | |||
| 313 | */ | 374 | */ |
| 314 | static int sa1111_retrigger_highirq(unsigned int irq) | 375 | static int sa1111_retrigger_highirq(unsigned int irq) |
| 315 | { | 376 | { |
| 377 | struct sa1111 *sachip = get_irq_chip_data(irq); | ||
| 378 | void __iomem *mapbase = sachip->base + SA1111_INTC; | ||
| 316 | unsigned int mask = SA1111_IRQMASK_HI(irq); | 379 | unsigned int mask = SA1111_IRQMASK_HI(irq); |
| 317 | void __iomem *mapbase = get_irq_chip_data(irq); | ||
| 318 | unsigned long ip1; | 380 | unsigned long ip1; |
| 319 | int i; | 381 | int i; |
| 320 | 382 | ||
| @@ -334,8 +396,9 @@ static int sa1111_retrigger_highirq(unsigned int irq) · 13 unmodified lines | |||
| 334 | 396 | ||
| 335 | static int sa1111_type_highirq(unsigned int irq, unsigned int flags) | 397 | static int sa1111_type_highirq(unsigned int irq, unsigned int flags) |
| 336 | { | 398 | { |
| 399 | struct sa1111 *sachip = get_irq_chip_data(irq); | ||
| 400 | void __iomem *mapbase = sachip->base + SA1111_INTC; | ||
| 337 | unsigned int mask = SA1111_IRQMASK_HI(irq); | 401 | unsigned int mask = SA1111_IRQMASK_HI(irq); |
| 338 | void __iomem *mapbase = get_irq_chip_data(irq); | ||
| 339 | unsigned long ip1; | 402 | unsigned long ip1; |
| 340 | 403 | ||
| 341 | if (flags == IRQ_TYPE_PROBE) | 404 | if (flags == IRQ_TYPE_PROBE) |
| @@ -357,8 +420,9 @@ static int sa1111_type_highirq(unsigned int irq, unsigned int flags) · 15 unmodified lines | |||
| 357 | 420 | ||
| 358 | static int sa1111_wake_highirq(unsigned int irq, unsigned int on) | 421 | static int sa1111_wake_highirq(unsigned int irq, unsigned int on) |
| 359 | { | 422 | { |
| 423 | struct sa1111 *sachip = get_irq_chip_data(irq); | ||
| 424 | void __iomem *mapbase = sachip->base + SA1111_INTC; | ||
| 360 | unsigned int mask = SA1111_IRQMASK_HI(irq); | 425 | unsigned int mask = SA1111_IRQMASK_HI(irq); |
| 361 | void __iomem *mapbase = get_irq_chip_data(irq); | ||
| 362 | unsigned long we1; | 426 | unsigned long we1; |
| 363 | 427 | ||
| 364 | we1 = sa1111_readl(mapbase + SA1111_WAKEEN1); | 428 | we1 = sa1111_readl(mapbase + SA1111_WAKEEN1); |
| @@ -412,14 +476,14 @@ static void sa1111_setup_irq(struct sa1111 *sachip) · 47 unmodified lines | |||
| 412 | 476 | ||
| 413 | for (irq = IRQ_GPAIN0; irq <= SSPROR; irq++) { | 477 | for (irq = IRQ_GPAIN0; irq <= SSPROR; irq++) { |
| 414 | set_irq_chip(irq, &sa1111_low_chip); | 478 | set_irq_chip(irq, &sa1111_low_chip); |
| 415 | set_irq_chip_data(irq, irqbase); | 479 | set_irq_chip_data(irq, sachip); |
| 416 | set_irq_handler(irq, handle_edge_irq); | 480 | set_irq_handler(irq, handle_edge_irq); |
| 417 | set_irq_flags(irq, IRQF_VALID | IRQF_PROBE); | 481 | set_irq_flags(irq, IRQF_VALID | IRQF_PROBE); |
| 418 | } | 482 | } |
| 419 | 483 | ||
| 420 | for (irq = AUDXMTDMADONEA; irq <= IRQ_S1_BVD1_STSCHG; irq++) { | 484 | for (irq = AUDXMTDMADONEA; irq <= IRQ_S1_BVD1_STSCHG; irq++) { |
| 421 | set_irq_chip(irq, &sa1111_high_chip); | 485 | set_irq_chip(irq, &sa1111_high_chip); |
| 422 | set_irq_chip_data(irq, irqbase); | 486 | set_irq_chip_data(irq, sachip); |
| 423 | set_irq_handler(irq, handle_edge_irq); | 487 | set_irq_handler(irq, handle_edge_irq); |
| 424 | set_irq_flags(irq, IRQF_VALID | IRQF_PROBE); | 488 | set_irq_flags(irq, IRQF_VALID | IRQF_PROBE); |
| 425 | } | 489 | } |
| @@ -428,7 +492,7 @@ static void sa1111_setup_irq(struct sa1111 *sachip) · 2 unmodified lines | |||
| 428 | * Register SA1111 interrupt | 492 | * Register SA1111 interrupt |
| 429 | */ | 493 | */ |
| 430 | set_irq_type(sachip->irq, IRQ_TYPE_EDGE_RISING); | 494 | set_irq_type(sachip->irq, IRQ_TYPE_EDGE_RISING); |
| 431 | set_irq_data(sachip->irq, irqbase); | 495 | set_irq_data(sachip->irq, sachip); |
| 432 | set_irq_chained_handler(sachip->irq, sa1111_irq_handler); | 496 | set_irq_chained_handler(sachip->irq, sa1111_irq_handler); |
| 433 | } | 497 | } |
| 434 | 498 | ||
| @@ -140,6 +140,7 @@ EXPORT_SYMBOL(reset_scoop); · 139 unmodified lines | |||
| 140 | EXPORT_SYMBOL(read_scoop_reg); | 140 | EXPORT_SYMBOL(read_scoop_reg); |
| 141 | EXPORT_SYMBOL(write_scoop_reg); | 141 | EXPORT_SYMBOL(write_scoop_reg); |
| 142 | 142 | ||
| 143 | #ifdef CONFIG_PM | ||
| 143 | static void check_scoop_reg(struct scoop_dev *sdev) | 144 | static void check_scoop_reg(struct scoop_dev *sdev) |
| 144 | { | 145 | { |
| 145 | unsigned short mcr; | 146 | unsigned short mcr; |
| @@ -149,7 +150,6 @@ static void check_scoop_reg(struct scoop_dev *sdev) · 3 unmodified lines | |||
| 149 | iowrite16(0x0101, sdev->base + SCOOP_MCR); | 150 | iowrite16(0x0101, sdev->base + SCOOP_MCR); |
| 150 | } | 151 | } |
| 151 | 152 | ||
| 152 | #ifdef CONFIG_PM | ||
| 153 | static int scoop_suspend(struct platform_device *dev, pm_message_t state) | 153 | static int scoop_suspend(struct platform_device *dev, pm_message_t state) |
| 154 | { | 154 | { |
| 155 | struct scoop_dev *sdev = platform_get_drvdata(dev); | 155 | struct scoop_dev *sdev = platform_get_drvdata(dev); |
| @@ -0,0 +1,779 @@ | |||
| 1 | # | ||
| 2 | # Automatically generated make config: don't edit | ||
| 3 | # Linux kernel version: 2.6.33-rc7 | ||
| 4 | # Mon Feb 8 12:25:36 2010 | ||
| 5 | # | ||
| 6 | CONFIG_ARM=y | ||
| 7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | ||
| 8 | CONFIG_GENERIC_TIME=y | ||
| 9 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
| 10 | CONFIG_GENERIC_HARDIRQS=y | ||
| 11 | CONFIG_STACKTRACE_SUPPORT=y | ||
| 12 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
| 13 | CONFIG_LOCKDEP_SUPPORT=y | ||
| 14 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
| 15 | CONFIG_HARDIRQS_SW_RESEND=y | ||
| 16 | CONFIG_GENERIC_IRQ_PROBE=y | ||
| 17 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
| 18 | CONFIG_GENERIC_HWEIGHT=y | ||
| 19 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
| 20 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
| 21 | CONFIG_VECTORS_BASE=0xffff0000 | ||
| 22 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
| 23 | CONFIG_CONSTRUCTORS=y | ||
| 24 | |||
| 25 | # | ||
| 26 | # General setup | ||
| 27 | # | ||
| 28 | CONFIG_EXPERIMENTAL=y | ||
| 29 | CONFIG_BROKEN_ON_SMP=y | ||
| 30 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
| 31 | CONFIG_LOCALVERSION="" | ||
| 32 | CONFIG_LOCALVERSION_AUTO=y | ||
| 33 | CONFIG_HAVE_KERNEL_GZIP=y | ||
| 34 | CONFIG_HAVE_KERNEL_LZO=y | ||
| 35 | CONFIG_KERNEL_GZIP=y | ||
| 36 | # CONFIG_KERNEL_BZIP2 is not set | ||
| 37 | # CONFIG_KERNEL_LZMA is not set | ||
| 38 | # CONFIG_KERNEL_LZO is not set | ||
| 39 | CONFIG_SWAP=y | ||
| 40 | CONFIG_SYSVIPC=y | ||
| 41 | CONFIG_SYSVIPC_SYSCTL=y | ||
| 42 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
| 43 | |||
| 44 | # | ||
| 45 | # RCU Subsystem | ||
| 46 | # | ||
| 47 | CONFIG_TREE_RCU=y | ||
| 48 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
| 49 | # CONFIG_TINY_RCU is not set | ||
| 50 | # CONFIG_RCU_TRACE is not set | ||
| 51 | CONFIG_RCU_FANOUT=32 | ||
| 52 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
| 53 | # CONFIG_TREE_RCU_TRACE is not set | ||
| 54 | CONFIG_IKCONFIG=y | ||
| 55 | CONFIG_IKCONFIG_PROC=y | ||
| 56 | CONFIG_LOG_BUF_SHIFT=16 | ||
| 57 | CONFIG_GROUP_SCHED=y | ||
| 58 | CONFIG_FAIR_GROUP_SCHED=y | ||
| 59 | # CONFIG_RT_GROUP_SCHED is not set | ||
| 60 | CONFIG_USER_SCHED=y | ||
| 61 | # CONFIG_CGROUP_SCHED is not set | ||
| 62 | # CONFIG_CGROUPS is not set | ||
| 63 | # CONFIG_SYSFS_DEPRECATED_V2 is not set | ||
| 64 | # CONFIG_RELAY is not set | ||
| 65 | CONFIG_NAMESPACES=y | ||
| 66 | # CONFIG_UTS_NS is not set | ||
| 67 | # CONFIG_IPC_NS is not set | ||
| 68 | # CONFIG_USER_NS is not set | ||
| 69 | # CONFIG_PID_NS is not set | ||
| 70 | CONFIG_BLK_DEV_INITRD=y | ||
| 71 | CONFIG_INITRAMFS_SOURCE="" | ||
| 72 | CONFIG_RD_GZIP=y | ||
| 73 | CONFIG_RD_BZIP2=y | ||
| 74 | CONFIG_RD_LZMA=y | ||
| 75 | CONFIG_RD_LZO=y | ||
| 76 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
| 77 | CONFIG_SYSCTL=y | ||
| 78 | CONFIG_ANON_INODES=y | ||
| 79 | # CONFIG_EMBEDDED is not set | ||
| 80 | CONFIG_UID16=y | ||
| 81 | CONFIG_SYSCTL_SYSCALL=y | ||
| 82 | CONFIG_KALLSYMS=y | ||
| 83 | # CONFIG_KALLSYMS_ALL is not set | ||
| 84 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
| 85 | CONFIG_HOTPLUG=y | ||
| 86 | CONFIG_PRINTK=y | ||
| 87 | CONFIG_BUG=y | ||
| 88 | CONFIG_ELF_CORE=y | ||
| 89 | CONFIG_BASE_FULL=y | ||
| 90 | CONFIG_FUTEX=y | ||
| 91 | CONFIG_EPOLL=y | ||
| 92 | CONFIG_SIGNALFD=y | ||
| 93 | CONFIG_TIMERFD=y | ||
| 94 | CONFIG_EVENTFD=y | ||
| 95 | CONFIG_SHMEM=y | ||
| 96 | CONFIG_AIO=y | ||
| 97 | |||
| 98 | # | ||
| 99 | # Kernel Performance Events And Counters | ||
| 100 | # | ||
| 101 | CONFIG_VM_EVENT_COUNTERS=y | ||
| 102 | CONFIG_COMPAT_BRK=y | ||
| 103 | CONFIG_SLAB=y | ||
| 104 | # CONFIG_SLUB is not set | ||
| 105 | # CONFIG_SLOB is not set | ||
| 106 | # CONFIG_PROFILING is not set | ||
| 107 | CONFIG_HAVE_OPROFILE=y | ||
| 108 | CONFIG_HAVE_KPROBES=y | ||
| 109 | CONFIG_HAVE_KRETPROBES=y | ||
| 110 | CONFIG_HAVE_CLK=y | ||
| 111 | |||
| 112 | # | ||
| 113 | # GCOV-based kernel profiling | ||
| 114 | # | ||
| 115 | # CONFIG_SLOW_WORK is not set | ||
| 116 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | ||
| 117 | CONFIG_SLABINFO=y | ||
| 118 | CONFIG_RT_MUTEXES=y | ||
| 119 | CONFIG_BASE_SMALL=0 | ||
| 120 | # CONFIG_MODULES is not set | ||
| 121 | CONFIG_BLOCK=y | ||
| 122 | CONFIG_LBDAF=y | ||
| 123 | # CONFIG_BLK_DEV_BSG is not set | ||
| 124 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
| 125 | |||
| 126 | # | ||
| 127 | # IO Schedulers | ||
| 128 | # | ||
| 129 | CONFIG_IOSCHED_NOOP=y | ||
| 130 | # CONFIG_IOSCHED_DEADLINE is not set | ||
| 131 | # CONFIG_IOSCHED_CFQ is not set | ||
| 132 | # CONFIG_DEFAULT_DEADLINE is not set | ||
| 133 | # CONFIG_DEFAULT_CFQ is not set | ||
| 134 | CONFIG_DEFAULT_NOOP=y | ||
| 135 | CONFIG_DEFAULT_IOSCHED="noop" | ||
| 136 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
| 137 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
| 138 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
| 139 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
| 140 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
| 141 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
| 142 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
| 143 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
| 144 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
| 145 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
| 146 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
| 147 | # CONFIG_INLINE_READ_LOCK is not set | ||
| 148 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
| 149 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
| 150 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
| 151 | CONFIG_INLINE_READ_UNLOCK=y | ||
| 152 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
| 153 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
| 154 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
| 155 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
| 156 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
| 157 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
| 158 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
| 159 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
| 160 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
| 161 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
| 162 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
| 163 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
| 164 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
| 165 | # CONFIG_FREEZER is not set | ||
| 166 | |||
| 167 | # | ||
| 168 | # System Type | ||
| 169 | # | ||
| 170 | CONFIG_MMU=y | ||
| 171 | # CONFIG_ARCH_AAEC2000 is not set | ||
| 172 | # CONFIG_ARCH_INTEGRATOR is not set | ||
| 173 | # CONFIG_ARCH_REALVIEW is not set | ||
| 174 | # CONFIG_ARCH_VERSATILE is not set | ||
| 175 | # CONFIG_ARCH_AT91 is not set | ||
| 176 | # CONFIG_ARCH_CLPS711X is not set | ||
| 177 | # CONFIG_ARCH_GEMINI is not set | ||
| 178 | # CONFIG_ARCH_EBSA110 is not set | ||
| 179 | # CONFIG_ARCH_EP93XX is not set | ||
| 180 | # CONFIG_ARCH_FOOTBRIDGE is not set | ||
| 181 | # CONFIG_ARCH_MXC is not set | ||
| 182 | # CONFIG_ARCH_STMP3XXX is not set | ||
| 183 | # CONFIG_ARCH_NETX is not set | ||
| 184 | # CONFIG_ARCH_H720X is not set | ||
| 185 | # CONFIG_ARCH_NOMADIK is not set | ||
| 186 | # CONFIG_ARCH_IOP13XX is not set | ||
| 187 | # CONFIG_ARCH_IOP32X is not set | ||
| 188 | # CONFIG_ARCH_IOP33X is not set | ||
| 189 | # CONFIG_ARCH_IXP23XX is not set | ||
| 190 | # CONFIG_ARCH_IXP2000 is not set | ||
| 191 | # CONFIG_ARCH_IXP4XX is not set | ||
| 192 | # CONFIG_ARCH_L7200 is not set | ||
| 193 | # CONFIG_ARCH_DOVE is not set | ||
| 194 | # CONFIG_ARCH_KIRKWOOD is not set | ||
| 195 | # CONFIG_ARCH_LOKI is not set | ||
| 196 | # CONFIG_ARCH_MV78XX0 is not set | ||
| 197 | # CONFIG_ARCH_ORION5X is not set | ||
| 198 | # CONFIG_ARCH_MMP is not set | ||
| 199 | # CONFIG_ARCH_KS8695 is not set | ||
| 200 | # CONFIG_ARCH_NS9XXX is not set | ||
| 201 | # CONFIG_ARCH_W90X900 is not set | ||
| 202 | # CONFIG_ARCH_PNX4008 is not set | ||
| 203 | # CONFIG_ARCH_PXA is not set | ||
| 204 | # CONFIG_ARCH_MSM is not set | ||
| 205 | CONFIG_ARCH_SHMOBILE=y | ||
| 206 | # CONFIG_ARCH_RPC is not set | ||
| 207 | # CONFIG_ARCH_SA1100 is not set | ||
| 208 | # CONFIG_ARCH_S3C2410 is not set | ||
| 209 | # CONFIG_ARCH_S3C64XX is not set | ||
| 210 | # CONFIG_ARCH_S5PC1XX is not set | ||
| 211 | # CONFIG_ARCH_SHARK is not set | ||
| 212 | # CONFIG_ARCH_LH7A40X is not set | ||
| 213 | # CONFIG_ARCH_U300 is not set | ||
| 214 | # CONFIG_ARCH_DAVINCI is not set | ||
| 215 | # CONFIG_ARCH_OMAP is not set | ||
| 216 | # CONFIG_ARCH_BCMRING is not set | ||
| 217 | # CONFIG_ARCH_U8500 is not set | ||
| 218 | |||
| 219 | # | ||
| 220 | # SH-Mobile System Type | ||
| 221 | # | ||
| 222 | # CONFIG_ARCH_SH7367 is not set | ||
| 223 | # CONFIG_ARCH_SH7377 is not set | ||
| 224 | CONFIG_ARCH_SH7372=y | ||
| 225 | |||
| 226 | # | ||
| 227 | # SH-Mobile Board Type | ||
| 228 | # | ||
| 229 | CONFIG_MACH_AP4EVB=y | ||
| 230 | |||
| 231 | # | ||
| 232 | # SH-Mobile System Configuration | ||
| 233 | # | ||
| 234 | |||
| 235 | # | ||
| 236 | # Memory configuration | ||
| 237 | # | ||
| 238 | CONFIG_MEMORY_START=0x40000000 | ||
| 239 | CONFIG_MEMORY_SIZE=0x10000000 | ||
| 240 | |||
| 241 | # | ||
| 242 | # Timer and clock configuration | ||
| 243 | # | ||
| 244 | CONFIG_SH_TIMER_CMT=y | ||
| 245 | |||
| 246 | # | ||
| 247 | # Processor Type | ||
| 248 | # | ||
| 249 | CONFIG_CPU_32v6K=y | ||
| 250 | CONFIG_CPU_V7=y | ||
| 251 | CONFIG_CPU_32v7=y | ||
| 252 | CONFIG_CPU_ABRT_EV7=y | ||
| 253 | CONFIG_CPU_PABRT_V7=y | ||
| 254 | CONFIG_CPU_CACHE_V7=y | ||
| 255 | CONFIG_CPU_CACHE_VIPT=y | ||
| 256 | CONFIG_CPU_COPY_V6=y | ||
| 257 | CONFIG_CPU_TLB_V7=y | ||
| 258 | CONFIG_CPU_HAS_ASID=y | ||
| 259 | CONFIG_CPU_CP15=y | ||
| 260 | CONFIG_CPU_CP15_MMU=y | ||
| 261 | |||
| 262 | # | ||
| 263 | # Processor Features | ||
| 264 | # | ||
| 265 | CONFIG_ARM_THUMB=y | ||
| 266 | # CONFIG_ARM_THUMBEE is not set | ||
| 267 | # CONFIG_CPU_ICACHE_DISABLE is not set | ||
| 268 | # CONFIG_CPU_DCACHE_DISABLE is not set | ||
| 269 | # CONFIG_CPU_BPREDICT_DISABLE is not set | ||
| 270 | CONFIG_HAS_TLS_REG=y | ||
| 271 | CONFIG_ARM_L1_CACHE_SHIFT=5 | ||
| 272 | # CONFIG_ARM_ERRATA_430973 is not set | ||
| 273 | # CONFIG_ARM_ERRATA_458693 is not set | ||
| 274 | # CONFIG_ARM_ERRATA_460075 is not set | ||
| 275 | CONFIG_COMMON_CLKDEV=y | ||
| 276 | |||
| 277 | # | ||
| 278 | # Bus support | ||
| 279 | # | ||
| 280 | # CONFIG_PCI_SYSCALL is not set | ||
| 281 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
| 282 | # CONFIG_PCCARD is not set | ||
| 283 | |||
| 284 | # | ||
| 285 | # Kernel Features | ||
| 286 | # | ||
| 287 | # CONFIG_NO_HZ is not set | ||
| 288 | # CONFIG_HIGH_RES_TIMERS is not set | ||
| 289 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
| 290 | CONFIG_VMSPLIT_3G=y | ||
| 291 | # CONFIG_VMSPLIT_2G is not set | ||
| 292 | # CONFIG_VMSPLIT_1G is not set | ||
| 293 | CONFIG_PAGE_OFFSET=0xC0000000 | ||
| 294 | CONFIG_PREEMPT_NONE=y | ||
| 295 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
| 296 | # CONFIG_PREEMPT is not set | ||
| 297 | CONFIG_HZ=100 | ||
| 298 | # CONFIG_THUMB2_KERNEL is not set | ||
| 299 | CONFIG_AEABI=y | ||
| 300 | # CONFIG_OABI_COMPAT is not set | ||
| 301 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set | ||
| 302 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set | ||
| 303 | # CONFIG_HIGHMEM is not set | ||
| 304 | CONFIG_SELECT_MEMORY_MODEL=y | ||
| 305 | CONFIG_FLATMEM_MANUAL=y | ||
| 306 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
| 307 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
| 308 | CONFIG_FLATMEM=y | ||
| 309 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
| 310 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
| 311 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
| 312 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
| 313 | CONFIG_ZONE_DMA_FLAG=0 | ||
| 314 | CONFIG_VIRT_TO_BUS=y | ||
| 315 | # CONFIG_KSM is not set | ||
| 316 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
| 317 | CONFIG_ALIGNMENT_TRAP=y | ||
| 318 | # CONFIG_UACCESS_WITH_MEMCPY is not set | ||
| 319 | |||
| 320 | # | ||
| 321 | # Boot options | ||
| 322 | # | ||
| 323 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
| 324 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
| 325 | CONFIG_CMDLINE="console=ttySC0,115200 earlyprintk=sh-sci.0,115200" | ||
| 326 | # CONFIG_XIP_KERNEL is not set | ||
| 327 | CONFIG_KEXEC=y | ||
| 328 | CONFIG_ATAGS_PROC=y | ||
| 329 | |||
| 330 | # | ||
| 331 | # CPU Power Management | ||
| 332 | # | ||
| 333 | # CONFIG_CPU_IDLE is not set | ||
| 334 | |||
| 335 | # | ||
| 336 | # Floating point emulation | ||
| 337 | # | ||
| 338 | |||
| 339 | # | ||
| 340 | # At least one emulation must be selected | ||
| 341 | # | ||
| 342 | # CONFIG_VFP is not set | ||
| 343 | |||
| 344 | # | ||
| 345 | # Userspace binary formats | ||
| 346 | # | ||
| 347 | CONFIG_BINFMT_ELF=y | ||
| 348 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
| 349 | CONFIG_HAVE_AOUT=y | ||
| 350 | # CONFIG_BINFMT_AOUT is not set | ||
| 351 | # CONFIG_BINFMT_MISC is not set | ||
| 352 | |||
| 353 | # | ||
| 354 | # Power management options | ||
| 355 | # | ||
| 356 | CONFIG_PM=y | ||
| 357 | # CONFIG_PM_DEBUG is not set | ||
| 358 | # CONFIG_SUSPEND is not set | ||
| 359 | # CONFIG_APM_EMULATION is not set | ||
| 360 | # CONFIG_PM_RUNTIME is not set | ||
| 361 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
| 362 | # CONFIG_NET is not set | ||
| 363 | |||
| 364 | # | ||
| 365 | # Device Drivers | ||
| 366 | # | ||
| 367 | |||
| 368 | # | ||
| 369 | # Generic Driver Options | ||
| 370 | # | ||
| 371 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
| 372 | # CONFIG_DEVTMPFS is not set | ||
| 373 | CONFIG_STANDALONE=y | ||
| 374 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
| 375 | CONFIG_FW_LOADER=y | ||
| 376 | # CONFIG_FIRMWARE_IN_KERNEL is not set | ||
| 377 | CONFIG_EXTRA_FIRMWARE="" | ||
| 378 | # CONFIG_DEBUG_DRIVER is not set | ||
| 379 | # CONFIG_DEBUG_DEVRES is not set | ||
| 380 | # CONFIG_SYS_HYPERVISOR is not set | ||
| 381 | CONFIG_MTD=y | ||
| 382 | # CONFIG_MTD_DEBUG is not set | ||
| 383 | CONFIG_MTD_CONCAT=y | ||
| 384 | CONFIG_MTD_PARTITIONS=y | ||
| 385 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
| 386 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
| 387 | # CONFIG_MTD_AFS_PARTS is not set | ||
| 388 | # CONFIG_MTD_AR7_PARTS is not set | ||
| 389 | |||
| 390 | # | ||
| 391 | # User Modules And Translation Layers | ||
| 392 | # | ||
| 393 | CONFIG_MTD_CHAR=y | ||
| 394 | CONFIG_MTD_BLKDEVS=y | ||
| 395 | CONFIG_MTD_BLOCK=y | ||
| 396 | # CONFIG_FTL is not set | ||
| 397 | # CONFIG_NFTL is not set | ||
| 398 | # CONFIG_INFTL is not set | ||
| 399 | # CONFIG_RFD_FTL is not set | ||
| 400 | # CONFIG_SSFDC is not set | ||
| 401 | # CONFIG_MTD_OOPS is not set | ||
| 402 | |||
| 403 | # | ||
| 404 | # RAM/ROM/Flash chip drivers | ||
| 405 | # | ||
| 406 | CONFIG_MTD_CFI=y | ||
| 407 | # CONFIG_MTD_JEDECPROBE is not set | ||
| 408 | CONFIG_MTD_GEN_PROBE=y | ||
| 409 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
| 410 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
| 411 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
| 412 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
| 413 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
| 414 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
| 415 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
| 416 | CONFIG_MTD_CFI_I1=y | ||
| 417 | CONFIG_MTD_CFI_I2=y | ||
| 418 | # CONFIG_MTD_CFI_I4 is not set | ||
| 419 | # CONFIG_MTD_CFI_I8 is not set | ||
| 420 | CONFIG_MTD_CFI_INTELEXT=y | ||
| 421 | # CONFIG_MTD_CFI_AMDSTD is not set | ||
| 422 | # CONFIG_MTD_CFI_STAA is not set | ||
| 423 | CONFIG_MTD_CFI_UTIL=y | ||
| 424 | # CONFIG_MTD_RAM is not set | ||
| 425 | # CONFIG_MTD_ROM is not set | ||
| 426 | # CONFIG_MTD_ABSENT is not set | ||
| 427 | |||
| 428 | # | ||
| 429 | # Mapping drivers for chip access | ||
| 430 | # | ||
| 431 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
| 432 | CONFIG_MTD_PHYSMAP=y | ||
| 433 | # CONFIG_MTD_PHYSMAP_COMPAT is not set | ||
| 434 | # CONFIG_MTD_ARM_INTEGRATOR is not set | ||
| 435 | # CONFIG_MTD_PLATRAM is not set | ||
| 436 | |||
| 437 | # | ||
| 438 | # Self-contained MTD device drivers | ||
| 439 | # | ||
| 440 | # CONFIG_MTD_SLRAM is not set | ||
| 441 | # CONFIG_MTD_PHRAM is not set | ||
| 442 | # CONFIG_MTD_MTDRAM is not set | ||
| 443 | # CONFIG_MTD_BLOCK2MTD is not set | ||
| 444 | |||
| 445 | # | ||
| 446 | # Disk-On-Chip Device Drivers | ||
| 447 | # | ||
| 448 | # CONFIG_MTD_DOC2000 is not set | ||
| 449 | # CONFIG_MTD_DOC2001 is not set | ||
| 450 | # CONFIG_MTD_DOC2001PLUS is not set | ||
| 451 | CONFIG_MTD_NAND=y | ||
| 452 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | ||
| 453 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
| 454 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | ||
| 455 | CONFIG_MTD_NAND_IDS=y | ||
| 456 | # CONFIG_MTD_NAND_DISKONCHIP is not set | ||
| 457 | # CONFIG_MTD_NAND_NANDSIM is not set | ||
| 458 | # CONFIG_MTD_NAND_PLATFORM is not set | ||
| 459 | # CONFIG_MTD_ONENAND is not set | ||
| 460 | |||
| 461 | # | ||
| 462 | # LPDDR flash memory drivers | ||
| 463 | # | ||
| 464 | # CONFIG_MTD_LPDDR is not set | ||
| 465 | |||
| 466 | # | ||
| 467 | # UBI - Unsorted block images | ||
| 468 | # | ||
| 469 | # CONFIG_MTD_UBI is not set | ||
| 470 | # CONFIG_PARPORT is not set | ||
| 471 | # CONFIG_BLK_DEV is not set | ||
| 472 | # CONFIG_MISC_DEVICES is not set | ||
| 473 | CONFIG_HAVE_IDE=y | ||
| 474 | # CONFIG_IDE is not set | ||
| 475 | |||
| 476 | # | ||
| 477 | # SCSI device support | ||
| 478 | # | ||
| 479 | # CONFIG_RAID_ATTRS is not set | ||
| 480 | # CONFIG_SCSI is not set | ||
| 481 | # CONFIG_SCSI_DMA is not set | ||
| 482 | # CONFIG_SCSI_NETLINK is not set | ||
| 483 | # CONFIG_ATA is not set | ||
| 484 | # CONFIG_MD is not set | ||
| 485 | # CONFIG_PHONE is not set | ||
| 486 | |||
| 487 | # | ||
| 488 | # Input device support | ||
| 489 | # | ||
| 490 | CONFIG_INPUT=y | ||
| 491 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
| 492 | # CONFIG_INPUT_POLLDEV is not set | ||
| 493 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
| 494 | |||
| 495 | # | ||
| 496 | # Userland interfaces | ||
| 497 | # | ||
| 498 | CONFIG_INPUT_MOUSEDEV=y | ||
| 499 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | ||
| 500 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
| 501 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
| 502 | # CONFIG_INPUT_JOYDEV is not set | ||
| 503 | # CONFIG_INPUT_EVDEV is not set | ||
| 504 | # CONFIG_INPUT_EVBUG is not set | ||
| 505 | |||
| 506 | # | ||
| 507 | # Input Device Drivers | ||
| 508 | # | ||
| 509 | # CONFIG_INPUT_KEYBOARD is not set | ||
| 510 | # CONFIG_INPUT_MOUSE is not set | ||
| 511 | # CONFIG_INPUT_JOYSTICK is not set | ||
| 512 | # CONFIG_INPUT_TABLET is not set | ||
| 513 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
| 514 | # CONFIG_INPUT_MISC is not set | ||
| 515 | |||
| 516 | # | ||
| 517 | # Hardware I/O ports | ||
| 518 | # | ||
| 519 | # CONFIG_SERIO is not set | ||
| 520 | # CONFIG_GAMEPORT is not set | ||
| 521 | |||
| 522 | # | ||
| 523 | # Character devices | ||
| 524 | # | ||
| 525 | CONFIG_VT=y | ||
| 526 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
| 527 | CONFIG_VT_CONSOLE=y | ||
| 528 | CONFIG_HW_CONSOLE=y | ||
| 529 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
| 530 | CONFIG_DEVKMEM=y | ||
| 531 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
| 532 | |||
| 533 | # | ||
| 534 | # Serial drivers | ||
| 535 | # | ||
| 536 | # CONFIG_SERIAL_8250 is not set | ||
| 537 | |||
| 538 | # | ||
| 539 | # Non-8250 serial port support | ||
| 540 | # | ||
| 541 | CONFIG_SERIAL_SH_SCI=y | ||
| 542 | CONFIG_SERIAL_SH_SCI_NR_UARTS=8 | ||
| 543 | CONFIG_SERIAL_SH_SCI_CONSOLE=y | ||
| 544 | CONFIG_SERIAL_CORE=y | ||
| 545 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
| 546 | CONFIG_UNIX98_PTYS=y | ||
| 547 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
| 548 | # CONFIG_LEGACY_PTYS is not set | ||
| 549 | # CONFIG_IPMI_HANDLER is not set | ||
| 550 | # CONFIG_HW_RANDOM is not set | ||
| 551 | # CONFIG_R3964 is not set | ||
| 552 | # CONFIG_RAW_DRIVER is not set | ||
| 553 | # CONFIG_TCG_TPM is not set | ||
| 554 | # CONFIG_I2C is not set | ||
| 555 | # CONFIG_SPI is not set | ||
| 556 | |||
| 557 | # | ||
| 558 | # PPS support | ||
| 559 | # | ||
| 560 | # CONFIG_PPS is not set | ||
| 561 | # CONFIG_W1 is not set | ||
| 562 | # CONFIG_POWER_SUPPLY is not set | ||
| 563 | # CONFIG_HWMON is not set | ||
| 564 | # CONFIG_THERMAL is not set | ||
| 565 | # CONFIG_WATCHDOG is not set | ||
| 566 | CONFIG_SSB_POSSIBLE=y | ||
| 567 | |||
| 568 | # | ||
| 569 | # Sonics Silicon Backplane | ||
| 570 | # | ||
| 571 | # CONFIG_SSB is not set | ||
| 572 | |||
| 573 | # | ||
| 574 | # Multifunction device drivers | ||
| 575 | # | ||
| 576 | # CONFIG_MFD_CORE is not set | ||
| 577 | # CONFIG_MFD_SM501 is not set | ||
| 578 | # CONFIG_HTC_PASIC3 is not set | ||
| 579 | # CONFIG_MFD_TMIO is not set | ||
| 580 | # CONFIG_MFD_T7L66XB is not set | ||
| 581 | # CONFIG_MFD_TC6387XB is not set | ||
| 582 | # CONFIG_REGULATOR is not set | ||
| 583 | # CONFIG_MEDIA_SUPPORT is not set | ||
| 584 | |||
| 585 | # | ||
| 586 | # Graphics support | ||
| 587 | # | ||
| 588 | # CONFIG_VGASTATE is not set | ||
| 589 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
| 590 | # CONFIG_FB is not set | ||
| 591 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
| 592 | |||
| 593 | # | ||
| 594 | # Display device support | ||
| 595 | # | ||
| 596 | # CONFIG_DISPLAY_SUPPORT is not set | ||
| 597 | |||
| 598 | # | ||
| 599 | # Console display driver support | ||
| 600 | # | ||
| 601 | # CONFIG_VGA_CONSOLE is not set | ||
| 602 | CONFIG_DUMMY_CONSOLE=y | ||
| 603 | # CONFIG_SOUND is not set | ||
| 604 | # CONFIG_HID_SUPPORT is not set | ||
| 605 | # CONFIG_USB_SUPPORT is not set | ||
| 606 | # CONFIG_MMC is not set | ||
| 607 | # CONFIG_MEMSTICK is not set | ||
| 608 | # CONFIG_NEW_LEDS is not set | ||
| 609 | # CONFIG_ACCESSIBILITY is not set | ||
| 610 | CONFIG_RTC_LIB=y | ||
| 611 | # CONFIG_RTC_CLASS is not set | ||
| 612 | # CONFIG_DMADEVICES is not set | ||
| 613 | # CONFIG_AUXDISPLAY is not set | ||
| 614 | # CONFIG_UIO is not set | ||
| 615 | |||
| 616 | # | ||
| 617 | # TI VLYNQ | ||
| 618 | # | ||
| 619 | # CONFIG_STAGING is not set | ||
| 620 | |||
| 621 | # | ||
| 622 | # File systems | ||
| 623 | # | ||
| 624 | # CONFIG_EXT2_FS is not set | ||
| 625 | # CONFIG_EXT3_FS is not set | ||
| 626 | # CONFIG_EXT4_FS is not set | ||
| 627 | # CONFIG_REISERFS_FS is not set | ||
| 628 | # CONFIG_JFS_FS is not set | ||
| 629 | # CONFIG_FS_POSIX_ACL is not set | ||
| 630 | # CONFIG_XFS_FS is not set | ||
| 631 | # CONFIG_GFS2_FS is not set | ||
| 632 | # CONFIG_BTRFS_FS is not set | ||
| 633 | # CONFIG_NILFS2_FS is not set | ||
| 634 | CONFIG_FILE_LOCKING=y | ||
| 635 | # CONFIG_FSNOTIFY is not set | ||
| 636 | # CONFIG_DNOTIFY is not set | ||
| 637 | # CONFIG_INOTIFY is not set | ||
| 638 | # CONFIG_INOTIFY_USER is not set | ||
| 639 | # CONFIG_QUOTA is not set | ||
| 640 | # CONFIG_AUTOFS_FS is not set | ||
| 641 | # CONFIG_AUTOFS4_FS is not set | ||
| 642 | # CONFIG_FUSE_FS is not set | ||
| 643 | |||
| 644 | # | ||
| 645 | # Caches | ||
| 646 | # | ||
| 647 | # CONFIG_FSCACHE is not set | ||
| 648 | |||
| 649 | # | ||
| 650 | # CD-ROM/DVD Filesystems | ||
| 651 | # | ||
| 652 | # CONFIG_ISO9660_FS is not set | ||
| 653 | # CONFIG_UDF_FS is not set | ||
| 654 | |||
| 655 | # | ||
| 656 | # DOS/FAT/NT Filesystems | ||
| 657 | # | ||
| 658 | # CONFIG_MSDOS_FS is not set | ||
| 659 | # CONFIG_VFAT_FS is not set | ||
| 660 | # CONFIG_NTFS_FS is not set | ||
| 661 | |||
| 662 | # | ||
| 663 | # Pseudo filesystems | ||
| 664 | # | ||
| 665 | CONFIG_PROC_FS=y | ||
| 666 | CONFIG_PROC_SYSCTL=y | ||
| 667 | CONFIG_PROC_PAGE_MONITOR=y | ||
| 668 | CONFIG_SYSFS=y | ||
| 669 | CONFIG_TMPFS=y | ||
| 670 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
| 671 | # CONFIG_HUGETLB_PAGE is not set | ||
| 672 | # CONFIG_CONFIGFS_FS is not set | ||
| 673 | # CONFIG_MISC_FILESYSTEMS is not set | ||
| 674 | |||
| 675 | # | ||
| 676 | # Partition Types | ||
| 677 | # | ||
| 678 | # CONFIG_PARTITION_ADVANCED is not set | ||
| 679 | CONFIG_MSDOS_PARTITION=y | ||
| 680 | # CONFIG_NLS is not set | ||
| 681 | |||
| 682 | # | ||
| 683 | # Kernel hacking | ||
| 684 | # | ||
| 685 | # CONFIG_PRINTK_TIME is not set | ||
| 686 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
| 687 | CONFIG_ENABLE_MUST_CHECK=y | ||
| 688 | CONFIG_FRAME_WARN=1024 | ||
| 689 | CONFIG_MAGIC_SYSRQ=y | ||
| 690 | # CONFIG_STRIP_ASM_SYMS is not set | ||
| 691 | # CONFIG_UNUSED_SYMBOLS is not set | ||
| 692 | # CONFIG_DEBUG_FS is not set | ||
| 693 | # CONFIG_HEADERS_CHECK is not set | ||
| 694 | CONFIG_DEBUG_KERNEL=y | ||
| 695 | # CONFIG_DEBUG_SHIRQ is not set | ||
| 696 | # CONFIG_DETECT_SOFTLOCKUP is not set | ||
| 697 | # CONFIG_DETECT_HUNG_TASK is not set | ||
| 698 | CONFIG_SCHED_DEBUG=y | ||
| 699 | # CONFIG_SCHEDSTATS is not set | ||
| 700 | # CONFIG_TIMER_STATS is not set | ||
| 701 | # CONFIG_DEBUG_OBJECTS is not set | ||
| 702 | # CONFIG_DEBUG_SLAB is not set | ||
| 703 | # CONFIG_DEBUG_KMEMLEAK is not set | ||
| 704 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
| 705 | # CONFIG_RT_MUTEX_TESTER is not set | ||
| 706 | # CONFIG_DEBUG_SPINLOCK is not set | ||
| 707 | # CONFIG_DEBUG_MUTEXES is not set | ||
| 708 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
| 709 | # CONFIG_PROVE_LOCKING is not set | ||
| 710 | # CONFIG_LOCK_STAT is not set | ||
| 711 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
| 712 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
| 713 | # CONFIG_DEBUG_KOBJECT is not set | ||
| 714 | CONFIG_DEBUG_BUGVERBOSE=y | ||
| 715 | # CONFIG_DEBUG_INFO is not set | ||
| 716 | # CONFIG_DEBUG_VM is not set | ||
| 717 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
| 718 | CONFIG_DEBUG_MEMORY_INIT=y | ||
| 719 | # CONFIG_DEBUG_LIST is not set | ||
| 720 | # CONFIG_DEBUG_SG is not set | ||
| 721 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
| 722 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
| 723 | # CONFIG_BOOT_PRINTK_DELAY is not set | ||
| 724 | # CONFIG_RCU_TORTURE_TEST is not set | ||
| 725 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
| 726 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
| 727 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
| 728 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
| 729 | # CONFIG_FAULT_INJECTION is not set | ||
| 730 | # CONFIG_LATENCYTOP is not set | ||
| 731 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
| 732 | # CONFIG_PAGE_POISONING is not set | ||
| 733 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
| 734 | CONFIG_TRACING_SUPPORT=y | ||
| 735 | # CONFIG_FTRACE is not set | ||
| 736 | # CONFIG_SAMPLES is not set | ||
| 737 | CONFIG_HAVE_ARCH_KGDB=y | ||
| 738 | # CONFIG_KGDB is not set | ||
| 739 | CONFIG_ARM_UNWIND=y | ||
| 740 | # CONFIG_DEBUG_USER is not set | ||
| 741 | # CONFIG_DEBUG_ERRORS is not set | ||
| 742 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
| 743 | # CONFIG_DEBUG_LL is not set | ||
| 744 | # CONFIG_OC_ETM is not set | ||
| 745 | |||
| 746 | # | ||
| 747 | # Security options | ||
| 748 | # | ||
| 749 | # CONFIG_KEYS is not set | ||
| 750 | # CONFIG_SECURITY is not set | ||
| 751 | # CONFIG_SECURITYFS is not set | ||
| 752 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set | ||
| 753 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
| 754 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
| 755 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
| 756 | CONFIG_DEFAULT_SECURITY="" | ||
| 757 | # CONFIG_CRYPTO is not set | ||
| 758 | # CONFIG_BINARY_PRINTF is not set | ||
| 759 | |||
| 760 | # | ||
| 761 | # Library routines | ||
| 762 | # | ||
| 763 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
| 764 | # CONFIG_CRC_CCITT is not set | ||
| 765 | # CONFIG_CRC16 is not set | ||
| 766 | # CONFIG_CRC_T10DIF is not set | ||
| 767 | # CONFIG_CRC_ITU_T is not set | ||
| 768 | # CONFIG_CRC32 is not set | ||
| 769 | # CONFIG_CRC7 is not set | ||
| 770 | # CONFIG_LIBCRC32C is not set | ||
| 771 | CONFIG_ZLIB_INFLATE=y | ||
| 772 | CONFIG_LZO_DECOMPRESS=y | ||
| 773 | CONFIG_DECOMPRESS_GZIP=y | ||
| 774 | CONFIG_DECOMPRESS_BZIP2=y | ||
| 775 | CONFIG_DECOMPRESS_LZMA=y | ||
| 776 | CONFIG_DECOMPRESS_LZO=y | ||
| 777 | CONFIG_HAS_IOMEM=y | ||
| 778 | CONFIG_HAS_IOPORT=y | ||
| 779 | CONFIG_HAS_DMA=y | ||
| @@ -358,7 +358,7 @@ CONFIG_PM_SLEEP=y · 357 unmodified lines | |||
| 358 | CONFIG_SUSPEND=y | 358 | CONFIG_SUSPEND=y |
| 359 | CONFIG_SUSPEND_FREEZER=y | 359 | CONFIG_SUSPEND_FREEZER=y |
| 360 | # CONFIG_APM_EMULATION is not set | 360 | # CONFIG_APM_EMULATION is not set |
| 361 | # CONFIG_PM_RUNTIME is not set | 361 | CONFIG_PM_RUNTIME=y |
| 362 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 362 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 363 | CONFIG_NET=y | 363 | CONFIG_NET=y |
| 364 | 364 | ||
| @@ -0,0 +1,774 @@ | |||
| 1 | # | ||
| 2 | # Automatically generated make config: don't edit | ||
| 3 | # Linux kernel version: 2.6.33-rc7 | ||
| 4 | # Mon Feb 8 12:20:01 2010 | ||
| 5 | # | ||
| 6 | CONFIG_ARM=y | ||
| 7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | ||
| 8 | CONFIG_GENERIC_TIME=y | ||
| 9 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
| 10 | CONFIG_GENERIC_HARDIRQS=y | ||
| 11 | CONFIG_STACKTRACE_SUPPORT=y | ||
| 12 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
| 13 | CONFIG_LOCKDEP_SUPPORT=y | ||
| 14 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
| 15 | CONFIG_HARDIRQS_SW_RESEND=y | ||
| 16 | CONFIG_GENERIC_IRQ_PROBE=y | ||
| 17 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
| 18 | CONFIG_GENERIC_HWEIGHT=y | ||
| 19 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
| 20 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
| 21 | CONFIG_VECTORS_BASE=0xffff0000 | ||
| 22 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
| 23 | CONFIG_CONSTRUCTORS=y | ||
| 24 | |||
| 25 | # | ||
| 26 | # General setup | ||
| 27 | # | ||
| 28 | CONFIG_EXPERIMENTAL=y | ||
| 29 | CONFIG_BROKEN_ON_SMP=y | ||
| 30 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
| 31 | CONFIG_LOCALVERSION="" | ||
| 32 | CONFIG_LOCALVERSION_AUTO=y | ||
| 33 | CONFIG_HAVE_KERNEL_GZIP=y | ||
| 34 | CONFIG_HAVE_KERNEL_LZO=y | ||
| 35 | CONFIG_KERNEL_GZIP=y | ||
| 36 | # CONFIG_KERNEL_BZIP2 is not set | ||
| 37 | # CONFIG_KERNEL_LZMA is not set | ||
| 38 | # CONFIG_KERNEL_LZO is not set | ||
| 39 | CONFIG_SWAP=y | ||
| 40 | CONFIG_SYSVIPC=y | ||
| 41 | CONFIG_SYSVIPC_SYSCTL=y | ||
| 42 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
| 43 | |||
| 44 | # | ||
| 45 | # RCU Subsystem | ||
| 46 | # | ||
| 47 | CONFIG_TREE_RCU=y | ||
| 48 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
| 49 | # CONFIG_TINY_RCU is not set | ||
| 50 | # CONFIG_RCU_TRACE is not set | ||
| 51 | CONFIG_RCU_FANOUT=32 | ||
| 52 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
| 53 | # CONFIG_TREE_RCU_TRACE is not set | ||
| 54 | CONFIG_IKCONFIG=y | ||
| 55 | CONFIG_IKCONFIG_PROC=y | ||
| 56 | CONFIG_LOG_BUF_SHIFT=16 | ||
| 57 | CONFIG_GROUP_SCHED=y | ||
| 58 | CONFIG_FAIR_GROUP_SCHED=y | ||
| 59 | # CONFIG_RT_GROUP_SCHED is not set | ||
| 60 | CONFIG_USER_SCHED=y | ||
| 61 | # CONFIG_CGROUP_SCHED is not set | ||
| 62 | # CONFIG_CGROUPS is not set | ||
| 63 | # CONFIG_SYSFS_DEPRECATED_V2 is not set | ||
| 64 | # CONFIG_RELAY is not set | ||
| 65 | CONFIG_NAMESPACES=y | ||
| 66 | # CONFIG_UTS_NS is not set | ||
| 67 | # CONFIG_IPC_NS is not set | ||
| 68 | # CONFIG_USER_NS is not set | ||
| 69 | # CONFIG_PID_NS is not set | ||
| 70 | CONFIG_BLK_DEV_INITRD=y | ||
| 71 | CONFIG_INITRAMFS_SOURCE="" | ||
| 72 | CONFIG_RD_GZIP=y | ||
| 73 | CONFIG_RD_BZIP2=y | ||
| 74 | CONFIG_RD_LZMA=y | ||
| 75 | CONFIG_RD_LZO=y | ||
| 76 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
| 77 | CONFIG_SYSCTL=y | ||
| 78 | CONFIG_ANON_INODES=y | ||
| 79 | # CONFIG_EMBEDDED is not set | ||
| 80 | CONFIG_UID16=y | ||
| 81 | CONFIG_SYSCTL_SYSCALL=y | ||
| 82 | CONFIG_KALLSYMS=y | ||
| 83 | # CONFIG_KALLSYMS_ALL is not set | ||
| 84 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
| 85 | CONFIG_HOTPLUG=y | ||
| 86 | CONFIG_PRINTK=y | ||
| 87 | CONFIG_BUG=y | ||
| 88 | CONFIG_ELF_CORE=y | ||
| 89 | CONFIG_BASE_FULL=y | ||
| 90 | CONFIG_FUTEX=y | ||
| 91 | CONFIG_EPOLL=y | ||
| 92 | CONFIG_SIGNALFD=y | ||
| 93 | CONFIG_TIMERFD=y | ||
| 94 | CONFIG_EVENTFD=y | ||
| 95 | CONFIG_SHMEM=y | ||
| 96 | CONFIG_AIO=y | ||
| 97 | |||
| 98 | # | ||
| 99 | # Kernel Performance Events And Counters | ||
| 100 | # | ||
| 101 | CONFIG_VM_EVENT_COUNTERS=y | ||
| 102 | CONFIG_COMPAT_BRK=y | ||
| 103 | CONFIG_SLAB=y | ||
| 104 | # CONFIG_SLUB is not set | ||
| 105 | # CONFIG_SLOB is not set | ||
| 106 | # CONFIG_PROFILING is not set | ||
| 107 | CONFIG_HAVE_OPROFILE=y | ||
| 108 | CONFIG_HAVE_KPROBES=y | ||
| 109 | CONFIG_HAVE_KRETPROBES=y | ||
| 110 | CONFIG_HAVE_CLK=y | ||
| 111 | |||
| 112 | # | ||
| 113 | # GCOV-based kernel profiling | ||
| 114 | # | ||
| 115 | # CONFIG_SLOW_WORK is not set | ||
| 116 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | ||
| 117 | CONFIG_SLABINFO=y | ||
| 118 | CONFIG_RT_MUTEXES=y | ||
| 119 | CONFIG_BASE_SMALL=0 | ||
| 120 | # CONFIG_MODULES is not set | ||
| 121 | CONFIG_BLOCK=y | ||
| 122 | CONFIG_LBDAF=y | ||
| 123 | # CONFIG_BLK_DEV_BSG is not set | ||
| 124 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
| 125 | |||
| 126 | # | ||
| 127 | # IO Schedulers | ||
| 128 | # | ||
| 129 | CONFIG_IOSCHED_NOOP=y | ||
| 130 | # CONFIG_IOSCHED_DEADLINE is not set | ||
| 131 | # CONFIG_IOSCHED_CFQ is not set | ||
| 132 | # CONFIG_DEFAULT_DEADLINE is not set | ||
| 133 | # CONFIG_DEFAULT_CFQ is not set | ||
| 134 | CONFIG_DEFAULT_NOOP=y | ||
| 135 | CONFIG_DEFAULT_IOSCHED="noop" | ||
| 136 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
| 137 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
| 138 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
| 139 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
| 140 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
| 141 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
| 142 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
| 143 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
| 144 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
| 145 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
| 146 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
| 147 | # CONFIG_INLINE_READ_LOCK is not set | ||
| 148 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
| 149 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
| 150 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
| 151 | CONFIG_INLINE_READ_UNLOCK=y | ||
| 152 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
| 153 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
| 154 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
| 155 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
| 156 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
| 157 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
| 158 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
| 159 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
| 160 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
| 161 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
| 162 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
| 163 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
| 164 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
| 165 | # CONFIG_FREEZER is not set | ||
| 166 | |||
| 167 | # | ||
| 168 | # System Type | ||
| 169 | # | ||
| 170 | CONFIG_MMU=y | ||
| 171 | # CONFIG_ARCH_AAEC2000 is not set | ||
| 172 | # CONFIG_ARCH_INTEGRATOR is not set | ||
| 173 | # CONFIG_ARCH_REALVIEW is not set | ||
| 174 | # CONFIG_ARCH_VERSATILE is not set | ||
| 175 | # CONFIG_ARCH_AT91 is not set | ||
| 176 | # CONFIG_ARCH_CLPS711X is not set | ||
| 177 | # CONFIG_ARCH_GEMINI is not set | ||
| 178 | # CONFIG_ARCH_EBSA110 is not set | ||
| 179 | # CONFIG_ARCH_EP93XX is not set | ||
| 180 | # CONFIG_ARCH_FOOTBRIDGE is not set | ||
| 181 | # CONFIG_ARCH_MXC is not set | ||
| 182 | # CONFIG_ARCH_STMP3XXX is not set | ||
| 183 | # CONFIG_ARCH_NETX is not set | ||
| 184 | # CONFIG_ARCH_H720X is not set | ||
| 185 | # CONFIG_ARCH_NOMADIK is not set | ||
| 186 | # CONFIG_ARCH_IOP13XX is not set | ||
| 187 | # CONFIG_ARCH_IOP32X is not set | ||
| 188 | # CONFIG_ARCH_IOP33X is not set | ||
| 189 | # CONFIG_ARCH_IXP23XX is not set | ||
| 190 | # CONFIG_ARCH_IXP2000 is not set | ||
| 191 | # CONFIG_ARCH_IXP4XX is not set | ||
| 192 | # CONFIG_ARCH_L7200 is not set | ||
| 193 | # CONFIG_ARCH_DOVE is not set | ||
| 194 | # CONFIG_ARCH_KIRKWOOD is not set | ||
| 195 | # CONFIG_ARCH_LOKI is not set | ||
| 196 | # CONFIG_ARCH_MV78XX0 is not set | ||
| 197 | # CONFIG_ARCH_ORION5X is not set | ||
| 198 | # CONFIG_ARCH_MMP is not set | ||
| 199 | # CONFIG_ARCH_KS8695 is not set | ||
| 200 | # CONFIG_ARCH_NS9XXX is not set | ||
| 201 | # CONFIG_ARCH_W90X900 is not set | ||
| 202 | # CONFIG_ARCH_PNX4008 is not set | ||
| 203 | # CONFIG_ARCH_PXA is not set | ||
| 204 | # CONFIG_ARCH_MSM is not set | ||
| 205 | CONFIG_ARCH_SHMOBILE=y | ||
| 206 | # CONFIG_ARCH_RPC is not set | ||
| 207 | # CONFIG_ARCH_SA1100 is not set | ||
| 208 | # CONFIG_ARCH_S3C2410 is not set | ||
| 209 | # CONFIG_ARCH_S3C64XX is not set | ||
| 210 | # CONFIG_ARCH_S5PC1XX is not set | ||
| 211 | # CONFIG_ARCH_SHARK is not set | ||
| 212 | # CONFIG_ARCH_LH7A40X is not set | ||
| 213 | # CONFIG_ARCH_U300 is not set | ||
| 214 | # CONFIG_ARCH_DAVINCI is not set | ||
| 215 | # CONFIG_ARCH_OMAP is not set | ||
| 216 | # CONFIG_ARCH_BCMRING is not set | ||
| 217 | # CONFIG_ARCH_U8500 is not set | ||
| 218 | |||
| 219 | # | ||
| 220 | # SH-Mobile System Type | ||
| 221 | # | ||
| 222 | CONFIG_ARCH_SH7367=y | ||
| 223 | # CONFIG_ARCH_SH7377 is not set | ||
| 224 | # CONFIG_ARCH_SH7372 is not set | ||
| 225 | |||
| 226 | # | ||
| 227 | # SH-Mobile Board Type | ||
| 228 | # | ||
| 229 | CONFIG_MACH_G3EVM=y | ||
| 230 | |||
| 231 | # | ||
| 232 | # SH-Mobile System Configuration | ||
| 233 | # | ||
| 234 | |||
| 235 | # | ||
| 236 | # Memory configuration | ||
| 237 | # | ||
| 238 | CONFIG_MEMORY_START=0x50000000 | ||
| 239 | CONFIG_MEMORY_SIZE=0x08000000 | ||
| 240 | |||
| 241 | # | ||
| 242 | # Timer and clock configuration | ||
| 243 | # | ||
| 244 | CONFIG_SH_TIMER_CMT=y | ||
| 245 | |||
| 246 | # | ||
| 247 | # Processor Type | ||
| 248 | # | ||
| 249 | CONFIG_CPU_V6=y | ||
| 250 | # CONFIG_CPU_32v6K is not set | ||
| 251 | CONFIG_CPU_32v6=y | ||
| 252 | CONFIG_CPU_ABRT_EV6=y | ||
| 253 | CONFIG_CPU_PABRT_V6=y | ||
| 254 | CONFIG_CPU_CACHE_V6=y | ||
| 255 | CONFIG_CPU_CACHE_VIPT=y | ||
| 256 | CONFIG_CPU_COPY_V6=y | ||
| 257 | CONFIG_CPU_TLB_V6=y | ||
| 258 | CONFIG_CPU_HAS_ASID=y | ||
| 259 | CONFIG_CPU_CP15=y | ||
| 260 | CONFIG_CPU_CP15_MMU=y | ||
| 261 | |||
| 262 | # | ||
| 263 | # Processor Features | ||
| 264 | # | ||
| 265 | CONFIG_ARM_THUMB=y | ||
| 266 | # CONFIG_CPU_ICACHE_DISABLE is not set | ||
| 267 | # CONFIG_CPU_DCACHE_DISABLE is not set | ||
| 268 | # CONFIG_CPU_BPREDICT_DISABLE is not set | ||
| 269 | CONFIG_ARM_L1_CACHE_SHIFT=5 | ||
| 270 | # CONFIG_ARM_ERRATA_411920 is not set | ||
| 271 | CONFIG_COMMON_CLKDEV=y | ||
| 272 | |||
| 273 | # | ||
| 274 | # Bus support | ||
| 275 | # | ||
| 276 | # CONFIG_PCI_SYSCALL is not set | ||
| 277 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
| 278 | # CONFIG_PCCARD is not set | ||
| 279 | |||
| 280 | # | ||
| 281 | # Kernel Features | ||
| 282 | # | ||
| 283 | # CONFIG_NO_HZ is not set | ||
| 284 | # CONFIG_HIGH_RES_TIMERS is not set | ||
| 285 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
| 286 | CONFIG_VMSPLIT_3G=y | ||
| 287 | # CONFIG_VMSPLIT_2G is not set | ||
| 288 | # CONFIG_VMSPLIT_1G is not set | ||
| 289 | CONFIG_PAGE_OFFSET=0xC0000000 | ||
| 290 | CONFIG_PREEMPT_NONE=y | ||
| 291 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
| 292 | # CONFIG_PREEMPT is not set | ||
| 293 | CONFIG_HZ=100 | ||
| 294 | CONFIG_AEABI=y | ||
| 295 | # CONFIG_OABI_COMPAT is not set | ||
| 296 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set | ||
| 297 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set | ||
| 298 | # CONFIG_HIGHMEM is not set | ||
| 299 | CONFIG_SELECT_MEMORY_MODEL=y | ||
| 300 | CONFIG_FLATMEM_MANUAL=y | ||
| 301 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
| 302 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
| 303 | CONFIG_FLATMEM=y | ||
| 304 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
| 305 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
| 306 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
| 307 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
| 308 | CONFIG_ZONE_DMA_FLAG=0 | ||
| 309 | CONFIG_VIRT_TO_BUS=y | ||
| 310 | # CONFIG_KSM is not set | ||
| 311 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
| 312 | CONFIG_ALIGNMENT_TRAP=y | ||
| 313 | # CONFIG_UACCESS_WITH_MEMCPY is not set | ||
| 314 | |||
| 315 | # | ||
| 316 | # Boot options | ||
| 317 | # | ||
| 318 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
| 319 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
| 320 | CONFIG_CMDLINE="console=ttySC1,115200 earlyprintk=sh-sci.1,115200" | ||
| 321 | # CONFIG_XIP_KERNEL is not set | ||
| 322 | CONFIG_KEXEC=y | ||
| 323 | CONFIG_ATAGS_PROC=y | ||
| 324 | |||
| 325 | # | ||
| 326 | # CPU Power Management | ||
| 327 | # | ||
| 328 | # CONFIG_CPU_IDLE is not set | ||
| 329 | |||
| 330 | # | ||
| 331 | # Floating point emulation | ||
| 332 | # | ||
| 333 | |||
| 334 | # | ||
| 335 | # At least one emulation must be selected | ||
| 336 | # | ||
| 337 | # CONFIG_VFP is not set | ||
| 338 | |||
| 339 | # | ||
| 340 | # Userspace binary formats | ||
| 341 | # | ||
| 342 | CONFIG_BINFMT_ELF=y | ||
| 343 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
| 344 | CONFIG_HAVE_AOUT=y | ||
| 345 | # CONFIG_BINFMT_AOUT is not set | ||
| 346 | # CONFIG_BINFMT_MISC is not set | ||
| 347 | |||
| 348 | # | ||
| 349 | # Power management options | ||
| 350 | # | ||
| 351 | CONFIG_PM=y | ||
| 352 | # CONFIG_PM_DEBUG is not set | ||
| 353 | # CONFIG_SUSPEND is not set | ||
| 354 | # CONFIG_APM_EMULATION is not set | ||
| 355 | # CONFIG_PM_RUNTIME is not set | ||
| 356 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
| 357 | # CONFIG_NET is not set | ||
| 358 | |||
| 359 | # | ||
| 360 | # Device Drivers | ||
| 361 | # | ||
| 362 | |||
| 363 | # | ||
| 364 | # Generic Driver Options | ||
| 365 | # | ||
| 366 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
| 367 | # CONFIG_DEVTMPFS is not set | ||
| 368 | CONFIG_STANDALONE=y | ||
| 369 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
| 370 | CONFIG_FW_LOADER=y | ||
| 371 | # CONFIG_FIRMWARE_IN_KERNEL is not set | ||
| 372 | CONFIG_EXTRA_FIRMWARE="" | ||
| 373 | # CONFIG_DEBUG_DRIVER is not set | ||
| 374 | # CONFIG_DEBUG_DEVRES is not set | ||
| 375 | # CONFIG_SYS_HYPERVISOR is not set | ||
| 376 | CONFIG_MTD=y | ||
| 377 | # CONFIG_MTD_DEBUG is not set | ||
| 378 | CONFIG_MTD_CONCAT=y | ||
| 379 | CONFIG_MTD_PARTITIONS=y | ||
| 380 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
| 381 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
| 382 | # CONFIG_MTD_AFS_PARTS is not set | ||
| 383 | # CONFIG_MTD_AR7_PARTS is not set | ||
| 384 | |||
| 385 | # | ||
| 386 | # User Modules And Translation Layers | ||
| 387 | # | ||
| 388 | CONFIG_MTD_CHAR=y | ||
| 389 | CONFIG_MTD_BLKDEVS=y | ||
| 390 | CONFIG_MTD_BLOCK=y | ||
| 391 | # CONFIG_FTL is not set | ||
| 392 | # CONFIG_NFTL is not set | ||
| 393 | # CONFIG_INFTL is not set | ||
| 394 | # CONFIG_RFD_FTL is not set | ||
| 395 | # CONFIG_SSFDC is not set | ||
| 396 | # CONFIG_MTD_OOPS is not set | ||
| 397 | |||
| 398 | # | ||
| 399 | # RAM/ROM/Flash chip drivers | ||
| 400 | # | ||
| 401 | CONFIG_MTD_CFI=y | ||
| 402 | # CONFIG_MTD_JEDECPROBE is not set | ||
| 403 | CONFIG_MTD_GEN_PROBE=y | ||
| 404 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
| 405 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
| 406 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
| 407 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
| 408 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
| 409 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
| 410 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
| 411 | CONFIG_MTD_CFI_I1=y | ||
| 412 | CONFIG_MTD_CFI_I2=y | ||
| 413 | # CONFIG_MTD_CFI_I4 is not set | ||
| 414 | # CONFIG_MTD_CFI_I8 is not set | ||
| 415 | CONFIG_MTD_CFI_INTELEXT=y | ||
| 416 | # CONFIG_MTD_CFI_AMDSTD is not set | ||
| 417 | # CONFIG_MTD_CFI_STAA is not set | ||
| 418 | CONFIG_MTD_CFI_UTIL=y | ||
| 419 | # CONFIG_MTD_RAM is not set | ||
| 420 | # CONFIG_MTD_ROM is not set | ||
| 421 | # CONFIG_MTD_ABSENT is not set | ||
| 422 | |||
| 423 | # | ||
| 424 | # Mapping drivers for chip access | ||
| 425 | # | ||
| 426 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
| 427 | CONFIG_MTD_PHYSMAP=y | ||
| 428 | # CONFIG_MTD_PHYSMAP_COMPAT is not set | ||
| 429 | # CONFIG_MTD_ARM_INTEGRATOR is not set | ||
| 430 | # CONFIG_MTD_PLATRAM is not set | ||
| 431 | |||
| 432 | # | ||
| 433 | # Self-contained MTD device drivers | ||
| 434 | # | ||
| 435 | # CONFIG_MTD_SLRAM is not set | ||
| 436 | # CONFIG_MTD_PHRAM is not set | ||
| 437 | # CONFIG_MTD_MTDRAM is not set | ||
| 438 | # CONFIG_MTD_BLOCK2MTD is not set | ||
| 439 | |||
| 440 | # | ||
| 441 | # Disk-On-Chip Device Drivers | ||
| 442 | # | ||
| 443 | # CONFIG_MTD_DOC2000 is not set | ||
| 444 | # CONFIG_MTD_DOC2001 is not set | ||
| 445 | # CONFIG_MTD_DOC2001PLUS is not set | ||
| 446 | CONFIG_MTD_NAND=y | ||
| 447 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | ||
| 448 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
| 449 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | ||
| 450 | CONFIG_MTD_NAND_IDS=y | ||
| 451 | # CONFIG_MTD_NAND_DISKONCHIP is not set | ||
| 452 | # CONFIG_MTD_NAND_NANDSIM is not set | ||
| 453 | # CONFIG_MTD_NAND_PLATFORM is not set | ||
| 454 | # CONFIG_MTD_ONENAND is not set | ||
| 455 | |||
| 456 | # | ||
| 457 | # LPDDR flash memory drivers | ||
| 458 | # | ||
| 459 | # CONFIG_MTD_LPDDR is not set | ||
| 460 | |||
| 461 | # | ||
| 462 | # UBI - Unsorted block images | ||
| 463 | # | ||
| 464 | # CONFIG_MTD_UBI is not set | ||
| 465 | # CONFIG_PARPORT is not set | ||
| 466 | # CONFIG_BLK_DEV is not set | ||
| 467 | # CONFIG_MISC_DEVICES is not set | ||
| 468 | CONFIG_HAVE_IDE=y | ||
| 469 | # CONFIG_IDE is not set | ||
| 470 | |||
| 471 | # | ||
| 472 | # SCSI device support | ||
| 473 | # | ||
| 474 | # CONFIG_RAID_ATTRS is not set | ||
| 475 | # CONFIG_SCSI is not set | ||
| 476 | # CONFIG_SCSI_DMA is not set | ||
| 477 | # CONFIG_SCSI_NETLINK is not set | ||
| 478 | # CONFIG_ATA is not set | ||
| 479 | # CONFIG_MD is not set | ||
| 480 | # CONFIG_PHONE is not set | ||
| 481 | |||
| 482 | # | ||
| 483 | # Input device support | ||
| 484 | # | ||
| 485 | CONFIG_INPUT=y | ||
| 486 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
| 487 | # CONFIG_INPUT_POLLDEV is not set | ||
| 488 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
| 489 | |||
| 490 | # | ||
| 491 | # Userland interfaces | ||
| 492 | # | ||
| 493 | CONFIG_INPUT_MOUSEDEV=y | ||
| 494 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | ||
| 495 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
| 496 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
| 497 | # CONFIG_INPUT_JOYDEV is not set | ||
| 498 | # CONFIG_INPUT_EVDEV is not set | ||
| 499 | # CONFIG_INPUT_EVBUG is not set | ||
| 500 | |||
| 501 | # | ||
| 502 | # Input Device Drivers | ||
| 503 | # | ||
| 504 | # CONFIG_INPUT_KEYBOARD is not set | ||
| 505 | # CONFIG_INPUT_MOUSE is not set | ||
| 506 | # CONFIG_INPUT_JOYSTICK is not set | ||
| 507 | # CONFIG_INPUT_TABLET is not set | ||
| 508 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
| 509 | # CONFIG_INPUT_MISC is not set | ||
| 510 | |||
| 511 | # | ||
| 512 | # Hardware I/O ports | ||
| 513 | # | ||
| 514 | # CONFIG_SERIO is not set | ||
| 515 | # CONFIG_GAMEPORT is not set | ||
| 516 | |||
| 517 | # | ||
| 518 | # Character devices | ||
| 519 | # | ||
| 520 | CONFIG_VT=y | ||
| 521 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
| 522 | CONFIG_VT_CONSOLE=y | ||
| 523 | CONFIG_HW_CONSOLE=y | ||
| 524 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
| 525 | CONFIG_DEVKMEM=y | ||
| 526 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
| 527 | |||
| 528 | # | ||
| 529 | # Serial drivers | ||
| 530 | # | ||
| 531 | # CONFIG_SERIAL_8250 is not set | ||
| 532 | |||
| 533 | # | ||
| 534 | # Non-8250 serial port support | ||
| 535 | # | ||
| 536 | CONFIG_SERIAL_SH_SCI=y | ||
| 537 | CONFIG_SERIAL_SH_SCI_NR_UARTS=8 | ||
| 538 | CONFIG_SERIAL_SH_SCI_CONSOLE=y | ||
| 539 | CONFIG_SERIAL_CORE=y | ||
| 540 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
| 541 | CONFIG_UNIX98_PTYS=y | ||
| 542 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
| 543 | # CONFIG_LEGACY_PTYS is not set | ||
| 544 | # CONFIG_IPMI_HANDLER is not set | ||
| 545 | # CONFIG_HW_RANDOM is not set | ||
| 546 | # CONFIG_R3964 is not set | ||
| 547 | # CONFIG_RAW_DRIVER is not set | ||
| 548 | # CONFIG_TCG_TPM is not set | ||
| 549 | # CONFIG_I2C is not set | ||
| 550 | # CONFIG_SPI is not set | ||
| 551 | |||
| 552 | # | ||
| 553 | # PPS support | ||
| 554 | # | ||
| 555 | # CONFIG_PPS is not set | ||
| 556 | # CONFIG_W1 is not set | ||
| 557 | # CONFIG_POWER_SUPPLY is not set | ||
| 558 | # CONFIG_HWMON is not set | ||
| 559 | # CONFIG_THERMAL is not set | ||
| 560 | # CONFIG_WATCHDOG is not set | ||
| 561 | CONFIG_SSB_POSSIBLE=y | ||
| 562 | |||
| 563 | # | ||
| 564 | # Sonics Silicon Backplane | ||
| 565 | # | ||
| 566 | # CONFIG_SSB is not set | ||
| 567 | |||
| 568 | # | ||
| 569 | # Multifunction device drivers | ||
| 570 | # | ||
| 571 | # CONFIG_MFD_CORE is not set | ||
| 572 | # CONFIG_MFD_SM501 is not set | ||
| 573 | # CONFIG_HTC_PASIC3 is not set | ||
| 574 | # CONFIG_MFD_TMIO is not set | ||
| 575 | # CONFIG_MFD_T7L66XB is not set | ||
| 576 | # CONFIG_MFD_TC6387XB is not set | ||
| 577 | # CONFIG_REGULATOR is not set | ||
| 578 | # CONFIG_MEDIA_SUPPORT is not set | ||
| 579 | |||
| 580 | # | ||
| 581 | # Graphics support | ||
| 582 | # | ||
| 583 | # CONFIG_VGASTATE is not set | ||
| 584 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
| 585 | # CONFIG_FB is not set | ||
| 586 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
| 587 | |||
| 588 | # | ||
| 589 | # Display device support | ||
| 590 | # | ||
| 591 | # CONFIG_DISPLAY_SUPPORT is not set | ||
| 592 | |||
| 593 | # | ||
| 594 | # Console display driver support | ||
| 595 | # | ||
| 596 | # CONFIG_VGA_CONSOLE is not set | ||
| 597 | CONFIG_DUMMY_CONSOLE=y | ||
| 598 | # CONFIG_SOUND is not set | ||
| 599 | # CONFIG_HID_SUPPORT is not set | ||
| 600 | # CONFIG_USB_SUPPORT is not set | ||
| 601 | # CONFIG_MMC is not set | ||
| 602 | # CONFIG_MEMSTICK is not set | ||
| 603 | # CONFIG_NEW_LEDS is not set | ||
| 604 | # CONFIG_ACCESSIBILITY is not set | ||
| 605 | CONFIG_RTC_LIB=y | ||
| 606 | # CONFIG_RTC_CLASS is not set | ||
| 607 | # CONFIG_DMADEVICES is not set | ||
| 608 | # CONFIG_AUXDISPLAY is not set | ||
| 609 | # CONFIG_UIO is not set | ||
| 610 | |||
| 611 | # | ||
| 612 | # TI VLYNQ | ||
| 613 | # | ||
| 614 | # CONFIG_STAGING is not set | ||
| 615 | |||
| 616 | # | ||
| 617 | # File systems | ||
| 618 | # | ||
| 619 | # CONFIG_EXT2_FS is not set | ||
| 620 | # CONFIG_EXT3_FS is not set | ||
| 621 | # CONFIG_EXT4_FS is not set | ||
| 622 | # CONFIG_REISERFS_FS is not set | ||
| 623 | # CONFIG_JFS_FS is not set | ||
| 624 | # CONFIG_FS_POSIX_ACL is not set | ||
| 625 | # CONFIG_XFS_FS is not set | ||
| 626 | # CONFIG_GFS2_FS is not set | ||
| 627 | # CONFIG_BTRFS_FS is not set | ||
| 628 | # CONFIG_NILFS2_FS is not set | ||
| 629 | CONFIG_FILE_LOCKING=y | ||
| 630 | # CONFIG_FSNOTIFY is not set | ||
| 631 | # CONFIG_DNOTIFY is not set | ||
| 632 | # CONFIG_INOTIFY is not set | ||
| 633 | # CONFIG_INOTIFY_USER is not set | ||
| 634 | # CONFIG_QUOTA is not set | ||
| 635 | # CONFIG_AUTOFS_FS is not set | ||
| 636 | # CONFIG_AUTOFS4_FS is not set | ||
| 637 | # CONFIG_FUSE_FS is not set | ||
| 638 | |||
| 639 | # | ||
| 640 | # Caches | ||
| 641 | # | ||
| 642 | # CONFIG_FSCACHE is not set | ||
| 643 | |||
| 644 | # | ||
| 645 | # CD-ROM/DVD Filesystems | ||
| 646 | # | ||
| 647 | # CONFIG_ISO9660_FS is not set | ||
| 648 | # CONFIG_UDF_FS is not set | ||
| 649 | |||
| 650 | # | ||
| 651 | # DOS/FAT/NT Filesystems | ||
| 652 | # | ||
| 653 | # CONFIG_MSDOS_FS is not set | ||
| 654 | # CONFIG_VFAT_FS is not set | ||
| 655 | # CONFIG_NTFS_FS is not set | ||
| 656 | |||
| 657 | # | ||
| 658 | # Pseudo filesystems | ||
| 659 | # | ||
| 660 | CONFIG_PROC_FS=y | ||
| 661 | CONFIG_PROC_SYSCTL=y | ||
| 662 | CONFIG_PROC_PAGE_MONITOR=y | ||
| 663 | CONFIG_SYSFS=y | ||
| 664 | CONFIG_TMPFS=y | ||
| 665 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
| 666 | # CONFIG_HUGETLB_PAGE is not set | ||
| 667 | # CONFIG_CONFIGFS_FS is not set | ||
| 668 | # CONFIG_MISC_FILESYSTEMS is not set | ||
| 669 | |||
| 670 | # | ||
| 671 | # Partition Types | ||
| 672 | # | ||
| 673 | # CONFIG_PARTITION_ADVANCED is not set | ||
| 674 | CONFIG_MSDOS_PARTITION=y | ||
| 675 | # CONFIG_NLS is not set | ||
| 676 | |||
| 677 | # | ||
| 678 | # Kernel hacking | ||
| 679 | # | ||
| 680 | # CONFIG_PRINTK_TIME is not set | ||
| 681 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
| 682 | CONFIG_ENABLE_MUST_CHECK=y | ||
| 683 | CONFIG_FRAME_WARN=1024 | ||
| 684 | CONFIG_MAGIC_SYSRQ=y | ||
| 685 | # CONFIG_STRIP_ASM_SYMS is not set | ||
| 686 | # CONFIG_UNUSED_SYMBOLS is not set | ||
| 687 | # CONFIG_DEBUG_FS is not set | ||
| 688 | # CONFIG_HEADERS_CHECK is not set | ||
| 689 | CONFIG_DEBUG_KERNEL=y | ||
| 690 | # CONFIG_DEBUG_SHIRQ is not set | ||
| 691 | # CONFIG_DETECT_SOFTLOCKUP is not set | ||
| 692 | # CONFIG_DETECT_HUNG_TASK is not set | ||
| 693 | CONFIG_SCHED_DEBUG=y | ||
| 694 | # CONFIG_SCHEDSTATS is not set | ||
| 695 | # CONFIG_TIMER_STATS is not set | ||
| 696 | # CONFIG_DEBUG_OBJECTS is not set | ||
| 697 | # CONFIG_DEBUG_SLAB is not set | ||
| 698 | # CONFIG_DEBUG_KMEMLEAK is not set | ||
| 699 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
| 700 | # CONFIG_RT_MUTEX_TESTER is not set | ||
| 701 | # CONFIG_DEBUG_SPINLOCK is not set | ||
| 702 | # CONFIG_DEBUG_MUTEXES is not set | ||
| 703 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
| 704 | # CONFIG_PROVE_LOCKING is not set | ||
| 705 | # CONFIG_LOCK_STAT is not set | ||
| 706 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
| 707 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
| 708 | # CONFIG_DEBUG_KOBJECT is not set | ||
| 709 | CONFIG_DEBUG_BUGVERBOSE=y | ||
| 710 | # CONFIG_DEBUG_INFO is not set | ||
| 711 | # CONFIG_DEBUG_VM is not set | ||
| 712 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
| 713 | CONFIG_DEBUG_MEMORY_INIT=y | ||
| 714 | # CONFIG_DEBUG_LIST is not set | ||
| 715 | # CONFIG_DEBUG_SG is not set | ||
| 716 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
| 717 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
| 718 | # CONFIG_BOOT_PRINTK_DELAY is not set | ||
| 719 | # CONFIG_RCU_TORTURE_TEST is not set | ||
| 720 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
| 721 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
| 722 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
| 723 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
| 724 | # CONFIG_FAULT_INJECTION is not set | ||
| 725 | # CONFIG_LATENCYTOP is not set | ||
| 726 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
| 727 | # CONFIG_PAGE_POISONING is not set | ||
| 728 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
| 729 | CONFIG_TRACING_SUPPORT=y | ||
| 730 | # CONFIG_FTRACE is not set | ||
| 731 | # CONFIG_SAMPLES is not set | ||
| 732 | CONFIG_HAVE_ARCH_KGDB=y | ||
| 733 | # CONFIG_KGDB is not set | ||
| 734 | CONFIG_ARM_UNWIND=y | ||
| 735 | # CONFIG_DEBUG_USER is not set | ||
| 736 | # CONFIG_DEBUG_ERRORS is not set | ||
| 737 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
| 738 | # CONFIG_DEBUG_LL is not set | ||
| 739 | # CONFIG_OC_ETM is not set | ||
| 740 | |||
| 741 | # | ||
| 742 | # Security options | ||
| 743 | # | ||
| 744 | # CONFIG_KEYS is not set | ||
| 745 | # CONFIG_SECURITY is not set | ||
| 746 | # CONFIG_SECURITYFS is not set | ||
| 747 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set | ||
| 748 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
| 749 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
| 750 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
| 751 | CONFIG_DEFAULT_SECURITY="" | ||
| 752 | # CONFIG_CRYPTO is not set | ||
| 753 | # CONFIG_BINARY_PRINTF is not set | ||
| 754 | |||
| 755 | # | ||
| 756 | # Library routines | ||
| 757 | # | ||
| 758 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
| 759 | # CONFIG_CRC_CCITT is not set | ||
| 760 | # CONFIG_CRC16 is not set | ||
| 761 | # CONFIG_CRC_T10DIF is not set | ||
| 762 | # CONFIG_CRC_ITU_T is not set | ||
| 763 | # CONFIG_CRC32 is not set | ||
| 764 | # CONFIG_CRC7 is not set | ||
| 765 | # CONFIG_LIBCRC32C is not set | ||
| 766 | CONFIG_ZLIB_INFLATE=y | ||
| 767 | CONFIG_LZO_DECOMPRESS=y | ||
| 768 | CONFIG_DECOMPRESS_GZIP=y | ||
| 769 | CONFIG_DECOMPRESS_BZIP2=y | ||
| 770 | CONFIG_DECOMPRESS_LZMA=y | ||
| 771 | CONFIG_DECOMPRESS_LZO=y | ||
| 772 | CONFIG_HAS_IOMEM=y | ||
| 773 | CONFIG_HAS_IOPORT=y | ||
| 774 | CONFIG_HAS_DMA=y | ||
| @@ -0,0 +1,779 @@ | |||
| 1 | # | ||
| 2 | # Automatically generated make config: don't edit | ||
| 3 | # Linux kernel version: 2.6.33-rc7 | ||
| 4 | # Mon Feb 8 12:21:35 2010 | ||
| 5 | # | ||
| 6 | CONFIG_ARM=y | ||
| 7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | ||
| 8 | CONFIG_GENERIC_TIME=y | ||
| 9 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
| 10 | CONFIG_GENERIC_HARDIRQS=y | ||
| 11 | CONFIG_STACKTRACE_SUPPORT=y | ||
| 12 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
| 13 | CONFIG_LOCKDEP_SUPPORT=y | ||
| 14 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
| 15 | CONFIG_HARDIRQS_SW_RESEND=y | ||
| 16 | CONFIG_GENERIC_IRQ_PROBE=y | ||
| 17 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
| 18 | CONFIG_GENERIC_HWEIGHT=y | ||
| 19 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
| 20 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
| 21 | CONFIG_VECTORS_BASE=0xffff0000 | ||
| 22 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
| 23 | CONFIG_CONSTRUCTORS=y | ||
| 24 | |||
| 25 | # | ||
| 26 | # General setup | ||
| 27 | # | ||
| 28 | CONFIG_EXPERIMENTAL=y | ||
| 29 | CONFIG_BROKEN_ON_SMP=y | ||
| 30 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
| 31 | CONFIG_LOCALVERSION="" | ||
| 32 | CONFIG_LOCALVERSION_AUTO=y | ||
| 33 | CONFIG_HAVE_KERNEL_GZIP=y | ||
| 34 | CONFIG_HAVE_KERNEL_LZO=y | ||
| 35 | CONFIG_KERNEL_GZIP=y | ||
| 36 | # CONFIG_KERNEL_BZIP2 is not set | ||
| 37 | # CONFIG_KERNEL_LZMA is not set | ||
| 38 | # CONFIG_KERNEL_LZO is not set | ||
| 39 | CONFIG_SWAP=y | ||
| 40 | CONFIG_SYSVIPC=y | ||
| 41 | CONFIG_SYSVIPC_SYSCTL=y | ||
| 42 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
| 43 | |||
| 44 | # | ||
| 45 | # RCU Subsystem | ||
| 46 | # | ||
| 47 | CONFIG_TREE_RCU=y | ||
| 48 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
| 49 | # CONFIG_TINY_RCU is not set | ||
| 50 | # CONFIG_RCU_TRACE is not set | ||
| 51 | CONFIG_RCU_FANOUT=32 | ||
| 52 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
| 53 | # CONFIG_TREE_RCU_TRACE is not set | ||
| 54 | CONFIG_IKCONFIG=y | ||
| 55 | CONFIG_IKCONFIG_PROC=y | ||
| 56 | CONFIG_LOG_BUF_SHIFT=16 | ||
| 57 | CONFIG_GROUP_SCHED=y | ||
| 58 | CONFIG_FAIR_GROUP_SCHED=y | ||
| 59 | # CONFIG_RT_GROUP_SCHED is not set | ||
| 60 | CONFIG_USER_SCHED=y | ||
| 61 | # CONFIG_CGROUP_SCHED is not set | ||
| 62 | # CONFIG_CGROUPS is not set | ||
| 63 | # CONFIG_SYSFS_DEPRECATED_V2 is not set | ||
| 64 | # CONFIG_RELAY is not set | ||
| 65 | CONFIG_NAMESPACES=y | ||
| 66 | # CONFIG_UTS_NS is not set | ||
| 67 | # CONFIG_IPC_NS is not set | ||
| 68 | # CONFIG_USER_NS is not set | ||
| 69 | # CONFIG_PID_NS is not set | ||
| 70 | CONFIG_BLK_DEV_INITRD=y | ||
| 71 | CONFIG_INITRAMFS_SOURCE="" | ||
| 72 | CONFIG_RD_GZIP=y | ||
| 73 | CONFIG_RD_BZIP2=y | ||
| 74 | CONFIG_RD_LZMA=y | ||
| 75 | CONFIG_RD_LZO=y | ||
| 76 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
| 77 | CONFIG_SYSCTL=y | ||
| 78 | CONFIG_ANON_INODES=y | ||
| 79 | # CONFIG_EMBEDDED is not set | ||
| 80 | CONFIG_UID16=y | ||
| 81 | CONFIG_SYSCTL_SYSCALL=y | ||
| 82 | CONFIG_KALLSYMS=y | ||
| 83 | # CONFIG_KALLSYMS_ALL is not set | ||
| 84 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
| 85 | CONFIG_HOTPLUG=y | ||
| 86 | CONFIG_PRINTK=y | ||
| 87 | CONFIG_BUG=y | ||
| 88 | CONFIG_ELF_CORE=y | ||
| 89 | CONFIG_BASE_FULL=y | ||
| 90 | CONFIG_FUTEX=y | ||
| 91 | CONFIG_EPOLL=y | ||
| 92 | CONFIG_SIGNALFD=y | ||
| 93 | CONFIG_TIMERFD=y | ||
| 94 | CONFIG_EVENTFD=y | ||
| 95 | CONFIG_SHMEM=y | ||
| 96 | CONFIG_AIO=y | ||
| 97 | |||
| 98 | # | ||
| 99 | # Kernel Performance Events And Counters | ||
| 100 | # | ||
| 101 | CONFIG_VM_EVENT_COUNTERS=y | ||
| 102 | CONFIG_COMPAT_BRK=y | ||
| 103 | CONFIG_SLAB=y | ||
| 104 | # CONFIG_SLUB is not set | ||
| 105 | # CONFIG_SLOB is not set | ||
| 106 | # CONFIG_PROFILING is not set | ||
| 107 | CONFIG_HAVE_OPROFILE=y | ||
| 108 | CONFIG_HAVE_KPROBES=y | ||
| 109 | CONFIG_HAVE_KRETPROBES=y | ||
| 110 | CONFIG_HAVE_CLK=y | ||
| 111 | |||
| 112 | # | ||
| 113 | # GCOV-based kernel profiling | ||
| 114 | # | ||
| 115 | # CONFIG_SLOW_WORK is not set | ||
| 116 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | ||
| 117 | CONFIG_SLABINFO=y | ||
| 118 | CONFIG_RT_MUTEXES=y | ||
| 119 | CONFIG_BASE_SMALL=0 | ||
| 120 | # CONFIG_MODULES is not set | ||
| 121 | CONFIG_BLOCK=y | ||
| 122 | CONFIG_LBDAF=y | ||
| 123 | # CONFIG_BLK_DEV_BSG is not set | ||
| 124 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
| 125 | |||
| 126 | # | ||
| 127 | # IO Schedulers | ||
| 128 | # | ||
| 129 | CONFIG_IOSCHED_NOOP=y | ||
| 130 | # CONFIG_IOSCHED_DEADLINE is not set | ||
| 131 | # CONFIG_IOSCHED_CFQ is not set | ||
| 132 | # CONFIG_DEFAULT_DEADLINE is not set | ||
| 133 | # CONFIG_DEFAULT_CFQ is not set | ||
| 134 | CONFIG_DEFAULT_NOOP=y | ||
| 135 | CONFIG_DEFAULT_IOSCHED="noop" | ||
| 136 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
| 137 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
| 138 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
| 139 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
| 140 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
| 141 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
| 142 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
| 143 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
| 144 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
| 145 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
| 146 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
| 147 | # CONFIG_INLINE_READ_LOCK is not set | ||
| 148 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
| 149 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
| 150 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
| 151 | CONFIG_INLINE_READ_UNLOCK=y | ||
| 152 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
| 153 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
| 154 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
| 155 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
| 156 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
| 157 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
| 158 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
| 159 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
| 160 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
| 161 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
| 162 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
| 163 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
| 164 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
| 165 | # CONFIG_FREEZER is not set | ||
| 166 | |||
| 167 | # | ||
| 168 | # System Type | ||
| 169 | # | ||
| 170 | CONFIG_MMU=y | ||
| 171 | # CONFIG_ARCH_AAEC2000 is not set | ||
| 172 | # CONFIG_ARCH_INTEGRATOR is not set | ||
| 173 | # CONFIG_ARCH_REALVIEW is not set | ||
| 174 | # CONFIG_ARCH_VERSATILE is not set | ||
| 175 | # CONFIG_ARCH_AT91 is not set | ||
| 176 | # CONFIG_ARCH_CLPS711X is not set | ||
| 177 | # CONFIG_ARCH_GEMINI is not set | ||
| 178 | # CONFIG_ARCH_EBSA110 is not set | ||
| 179 | # CONFIG_ARCH_EP93XX is not set | ||
| 180 | # CONFIG_ARCH_FOOTBRIDGE is not set | ||
| 181 | # CONFIG_ARCH_MXC is not set | ||
| 182 | # CONFIG_ARCH_STMP3XXX is not set | ||
| 183 | # CONFIG_ARCH_NETX is not set | ||
| 184 | # CONFIG_ARCH_H720X is not set | ||
| 185 | # CONFIG_ARCH_NOMADIK is not set | ||
| 186 | # CONFIG_ARCH_IOP13XX is not set | ||
| 187 | # CONFIG_ARCH_IOP32X is not set | ||
| 188 | # CONFIG_ARCH_IOP33X is not set | ||
| 189 | # CONFIG_ARCH_IXP23XX is not set | ||
| 190 | # CONFIG_ARCH_IXP2000 is not set | ||
| 191 | # CONFIG_ARCH_IXP4XX is not set | ||
| 192 | # CONFIG_ARCH_L7200 is not set | ||
| 193 | # CONFIG_ARCH_DOVE is not set | ||
| 194 | # CONFIG_ARCH_KIRKWOOD is not set | ||
| 195 | # CONFIG_ARCH_LOKI is not set | ||
| 196 | # CONFIG_ARCH_MV78XX0 is not set | ||
| 197 | # CONFIG_ARCH_ORION5X is not set | ||
| 198 | # CONFIG_ARCH_MMP is not set | ||
| 199 | # CONFIG_ARCH_KS8695 is not set | ||
| 200 | # CONFIG_ARCH_NS9XXX is not set | ||
| 201 | # CONFIG_ARCH_W90X900 is not set | ||
| 202 | # CONFIG_ARCH_PNX4008 is not set | ||
| 203 | # CONFIG_ARCH_PXA is not set | ||
| 204 | # CONFIG_ARCH_MSM is not set | ||
| 205 | CONFIG_ARCH_SHMOBILE=y | ||
| 206 | # CONFIG_ARCH_RPC is not set | ||
| 207 | # CONFIG_ARCH_SA1100 is not set | ||
| 208 | # CONFIG_ARCH_S3C2410 is not set | ||
| 209 | # CONFIG_ARCH_S3C64XX is not set | ||
| 210 | # CONFIG_ARCH_S5PC1XX is not set | ||
| 211 | # CONFIG_ARCH_SHARK is not set | ||
| 212 | # CONFIG_ARCH_LH7A40X is not set | ||
| 213 | # CONFIG_ARCH_U300 is not set | ||
| 214 | # CONFIG_ARCH_DAVINCI is not set | ||
| 215 | # CONFIG_ARCH_OMAP is not set | ||
| 216 | # CONFIG_ARCH_BCMRING is not set | ||
| 217 | # CONFIG_ARCH_U8500 is not set | ||
| 218 | |||
| 219 | # | ||
| 220 | # SH-Mobile System Type | ||
| 221 | # | ||
| 222 | # CONFIG_ARCH_SH7367 is not set | ||
| 223 | CONFIG_ARCH_SH7377=y | ||
| 224 | # CONFIG_ARCH_SH7372 is not set | ||
| 225 | |||
| 226 | # | ||
| 227 | # SH-Mobile Board Type | ||
| 228 | # | ||
| 229 | CONFIG_MACH_G4EVM=y | ||
| 230 | |||
| 231 | # | ||
| 232 | # SH-Mobile System Configuration | ||
| 233 | # | ||
| 234 | |||
| 235 | # | ||
| 236 | # Memory configuration | ||
| 237 | # | ||
| 238 | CONFIG_MEMORY_START=0x40000000 | ||
| 239 | CONFIG_MEMORY_SIZE=0x08000000 | ||
| 240 | |||
| 241 | # | ||
| 242 | # Timer and clock configuration | ||
| 243 | # | ||
| 244 | CONFIG_SH_TIMER_CMT=y | ||
| 245 | |||
| 246 | # | ||
| 247 | # Processor Type | ||
| 248 | # | ||
| 249 | CONFIG_CPU_32v6K=y | ||
| 250 | CONFIG_CPU_V7=y | ||
| 251 | CONFIG_CPU_32v7=y | ||
| 252 | CONFIG_CPU_ABRT_EV7=y | ||
| 253 | CONFIG_CPU_PABRT_V7=y | ||
| 254 | CONFIG_CPU_CACHE_V7=y | ||
| 255 | CONFIG_CPU_CACHE_VIPT=y | ||
| 256 | CONFIG_CPU_COPY_V6=y | ||
| 257 | CONFIG_CPU_TLB_V7=y | ||
| 258 | CONFIG_CPU_HAS_ASID=y | ||
| 259 | CONFIG_CPU_CP15=y | ||
| 260 | CONFIG_CPU_CP15_MMU=y | ||
| 261 | |||
| 262 | # | ||
| 263 | # Processor Features | ||
| 264 | # | ||
| 265 | CONFIG_ARM_THUMB=y | ||
| 266 | # CONFIG_ARM_THUMBEE is not set | ||
| 267 | # CONFIG_CPU_ICACHE_DISABLE is not set | ||
| 268 | # CONFIG_CPU_DCACHE_DISABLE is not set | ||
| 269 | # CONFIG_CPU_BPREDICT_DISABLE is not set | ||
| 270 | CONFIG_HAS_TLS_REG=y | ||
| 271 | CONFIG_ARM_L1_CACHE_SHIFT=5 | ||
| 272 | # CONFIG_ARM_ERRATA_430973 is not set | ||
| 273 | # CONFIG_ARM_ERRATA_458693 is not set | ||
| 274 | # CONFIG_ARM_ERRATA_460075 is not set | ||
| 275 | CONFIG_COMMON_CLKDEV=y | ||
| 276 | |||
| 277 | # | ||
| 278 | # Bus support | ||
| 279 | # | ||
| 280 | # CONFIG_PCI_SYSCALL is not set | ||
| 281 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
| 282 | # CONFIG_PCCARD is not set | ||
| 283 | |||
| 284 | # | ||
| 285 | # Kernel Features | ||
| 286 | # | ||
| 287 | # CONFIG_NO_HZ is not set | ||
| 288 | # CONFIG_HIGH_RES_TIMERS is not set | ||
| 289 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
| 290 | CONFIG_VMSPLIT_3G=y | ||
| 291 | # CONFIG_VMSPLIT_2G is not set | ||
| 292 | # CONFIG_VMSPLIT_1G is not set | ||
| 293 | CONFIG_PAGE_OFFSET=0xC0000000 | ||
| 294 | CONFIG_PREEMPT_NONE=y | ||
| 295 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
| 296 | # CONFIG_PREEMPT is not set | ||
| 297 | CONFIG_HZ=100 | ||
| 298 | # CONFIG_THUMB2_KERNEL is not set | ||
| 299 | CONFIG_AEABI=y | ||
| 300 | # CONFIG_OABI_COMPAT is not set | ||
| 301 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set | ||
| 302 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set | ||
| 303 | # CONFIG_HIGHMEM is not set | ||
| 304 | CONFIG_SELECT_MEMORY_MODEL=y | ||
| 305 | CONFIG_FLATMEM_MANUAL=y | ||
| 306 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
| 307 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
| 308 | CONFIG_FLATMEM=y | ||
| 309 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
| 310 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
| 311 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
| 312 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
| 313 | CONFIG_ZONE_DMA_FLAG=0 | ||
| 314 | CONFIG_VIRT_TO_BUS=y | ||
| 315 | # CONFIG_KSM is not set | ||
| 316 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
| 317 | CONFIG_ALIGNMENT_TRAP=y | ||
| 318 | # CONFIG_UACCESS_WITH_MEMCPY is not set | ||
| 319 | |||
| 320 | # | ||
| 321 | # Boot options | ||
| 322 | # | ||
| 323 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
| 324 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
| 325 | CONFIG_CMDLINE="console=ttySC4,115200 earlyprintk=sh-sci.4,115200" | ||
| 326 | # CONFIG_XIP_KERNEL is not set | ||
| 327 | CONFIG_KEXEC=y | ||
| 328 | CONFIG_ATAGS_PROC=y | ||
| 329 | |||
| 330 | # | ||
| 331 | # CPU Power Management | ||
| 332 | # | ||
| 333 | # CONFIG_CPU_IDLE is not set | ||
| 334 | |||
| 335 | # | ||
| 336 | # Floating point emulation | ||
| 337 | # | ||
| 338 | |||
| 339 | # | ||
| 340 | # At least one emulation must be selected | ||
| 341 | # | ||
| 342 | # CONFIG_VFP is not set | ||
| 343 | |||
| 344 | # | ||
| 345 | # Userspace binary formats | ||
| 346 | # | ||
| 347 | CONFIG_BINFMT_ELF=y | ||
| 348 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
| 349 | CONFIG_HAVE_AOUT=y | ||
| 350 | # CONFIG_BINFMT_AOUT is not set | ||
| 351 | # CONFIG_BINFMT_MISC is not set | ||
| 352 | |||
| 353 | # | ||
| 354 | # Power management options | ||
| 355 | # | ||
| 356 | CONFIG_PM=y | ||
| 357 | # CONFIG_PM_DEBUG is not set | ||
| 358 | # CONFIG_SUSPEND is not set | ||
| 359 | # CONFIG_APM_EMULATION is not set | ||
| 360 | # CONFIG_PM_RUNTIME is not set | ||
| 361 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
| 362 | # CONFIG_NET is not set | ||
| 363 | |||
| 364 | # | ||
| 365 | # Device Drivers | ||
| 366 | # | ||
| 367 | |||
| 368 | # | ||
| 369 | # Generic Driver Options | ||
| 370 | # | ||
| 371 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
| 372 | # CONFIG_DEVTMPFS is not set | ||
| 373 | CONFIG_STANDALONE=y | ||
| 374 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
| 375 | CONFIG_FW_LOADER=y | ||
| 376 | # CONFIG_FIRMWARE_IN_KERNEL is not set | ||
| 377 | CONFIG_EXTRA_FIRMWARE="" | ||
| 378 | # CONFIG_DEBUG_DRIVER is not set | ||
| 379 | # CONFIG_DEBUG_DEVRES is not set | ||
| 380 | # CONFIG_SYS_HYPERVISOR is not set | ||
| 381 | CONFIG_MTD=y | ||
| 382 | # CONFIG_MTD_DEBUG is not set | ||
| 383 | CONFIG_MTD_CONCAT=y | ||
| 384 | CONFIG_MTD_PARTITIONS=y | ||
| 385 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
| 386 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
| 387 | # CONFIG_MTD_AFS_PARTS is not set | ||
| 388 | # CONFIG_MTD_AR7_PARTS is not set | ||
| 389 | |||
| 390 | # | ||
| 391 | # User Modules And Translation Layers | ||
| 392 | # | ||
| 393 | CONFIG_MTD_CHAR=y | ||
| 394 | CONFIG_MTD_BLKDEVS=y | ||
| 395 | CONFIG_MTD_BLOCK=y | ||
| 396 | # CONFIG_FTL is not set | ||
| 397 | # CONFIG_NFTL is not set | ||
| 398 | # CONFIG_INFTL is not set | ||
| 399 | # CONFIG_RFD_FTL is not set | ||
| 400 | # CONFIG_SSFDC is not set | ||
| 401 | # CONFIG_MTD_OOPS is not set | ||
| 402 | |||
| 403 | # | ||
| 404 | # RAM/ROM/Flash chip drivers | ||
| 405 | # | ||
| 406 | CONFIG_MTD_CFI=y | ||
| 407 | # CONFIG_MTD_JEDECPROBE is not set | ||
| 408 | CONFIG_MTD_GEN_PROBE=y | ||
| 409 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
| 410 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
| 411 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
| 412 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
| 413 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
| 414 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
| 415 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
| 416 | CONFIG_MTD_CFI_I1=y | ||
| 417 | CONFIG_MTD_CFI_I2=y | ||
| 418 | # CONFIG_MTD_CFI_I4 is not set | ||
| 419 | # CONFIG_MTD_CFI_I8 is not set | ||
| 420 | CONFIG_MTD_CFI_INTELEXT=y | ||
| 421 | # CONFIG_MTD_CFI_AMDSTD is not set | ||
| 422 | # CONFIG_MTD_CFI_STAA is not set | ||
| 423 | CONFIG_MTD_CFI_UTIL=y | ||
| 424 | # CONFIG_MTD_RAM is not set | ||
| 425 | # CONFIG_MTD_ROM is not set | ||
| 426 | # CONFIG_MTD_ABSENT is not set | ||
| 427 | |||
| 428 | # | ||
| 429 | # Mapping drivers for chip access | ||
| 430 | # | ||
| 431 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
| 432 | CONFIG_MTD_PHYSMAP=y | ||
| 433 | # CONFIG_MTD_PHYSMAP_COMPAT is not set | ||
| 434 | # CONFIG_MTD_ARM_INTEGRATOR is not set | ||
| 435 | # CONFIG_MTD_PLATRAM is not set | ||
| 436 | |||
| 437 | # | ||
| 438 | # Self-contained MTD device drivers | ||
| 439 | # | ||
| 440 | # CONFIG_MTD_SLRAM is not set | ||
| 441 | # CONFIG_MTD_PHRAM is not set | ||
| 442 | # CONFIG_MTD_MTDRAM is not set | ||
| 443 | # CONFIG_MTD_BLOCK2MTD is not set | ||
| 444 | |||
| 445 | # | ||
| 446 | # Disk-On-Chip Device Drivers | ||
| 447 | # | ||
| 448 | # CONFIG_MTD_DOC2000 is not set | ||
| 449 | # CONFIG_MTD_DOC2001 is not set | ||
| 450 | # CONFIG_MTD_DOC2001PLUS is not set | ||
| 451 | CONFIG_MTD_NAND=y | ||
| 452 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | ||
| 453 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
| 454 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | ||
| 455 | CONFIG_MTD_NAND_IDS=y | ||
| 456 | # CONFIG_MTD_NAND_DISKONCHIP is not set | ||
| 457 | # CONFIG_MTD_NAND_NANDSIM is not set | ||
| 458 | # CONFIG_MTD_NAND_PLATFORM is not set | ||
| 459 | # CONFIG_MTD_ONENAND is not set | ||
| 460 | |||
| 461 | # | ||
| 462 | # LPDDR flash memory drivers | ||
| 463 | # | ||
| 464 | # CONFIG_MTD_LPDDR is not set | ||
| 465 | |||
| 466 | # | ||
| 467 | # UBI - Unsorted block images | ||
| 468 | # | ||
| 469 | # CONFIG_MTD_UBI is not set | ||
| 470 | # CONFIG_PARPORT is not set | ||
| 471 | # CONFIG_BLK_DEV is not set | ||
| 472 | # CONFIG_MISC_DEVICES is not set | ||
| 473 | CONFIG_HAVE_IDE=y | ||
| 474 | # CONFIG_IDE is not set | ||
| 475 | |||
| 476 | # | ||
| 477 | # SCSI device support | ||
| 478 | # | ||
| 479 | # CONFIG_RAID_ATTRS is not set | ||
| 480 | # CONFIG_SCSI is not set | ||
| 481 | # CONFIG_SCSI_DMA is not set | ||
| 482 | # CONFIG_SCSI_NETLINK is not set | ||
| 483 | # CONFIG_ATA is not set | ||
| 484 | # CONFIG_MD is not set | ||
| 485 | # CONFIG_PHONE is not set | ||
| 486 | |||
| 487 | # | ||
| 488 | # Input device support | ||
| 489 | # | ||
| 490 | CONFIG_INPUT=y | ||
| 491 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
| 492 | # CONFIG_INPUT_POLLDEV is not set | ||
| 493 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
| 494 | |||
| 495 | # | ||
| 496 | # Userland interfaces | ||
| 497 | # | ||
| 498 | CONFIG_INPUT_MOUSEDEV=y | ||
| 499 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | ||
| 500 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
| 501 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
| 502 | # CONFIG_INPUT_JOYDEV is not set | ||
| 503 | # CONFIG_INPUT_EVDEV is not set | ||
| 504 | # CONFIG_INPUT_EVBUG is not set | ||
| 505 | |||
| 506 | # | ||
| 507 | # Input Device Drivers | ||
| 508 | # | ||
| 509 | # CONFIG_INPUT_KEYBOARD is not set | ||
| 510 | # CONFIG_INPUT_MOUSE is not set | ||
| 511 | # CONFIG_INPUT_JOYSTICK is not set | ||
| 512 | # CONFIG_INPUT_TABLET is not set | ||
| 513 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
| 514 | # CONFIG_INPUT_MISC is not set | ||
| 515 | |||
| 516 | # | ||
| 517 | # Hardware I/O ports | ||
| 518 | # | ||
| 519 | # CONFIG_SERIO is not set | ||
| 520 | # CONFIG_GAMEPORT is not set | ||
| 521 | |||
| 522 | # | ||
| 523 | # Character devices | ||
| 524 | # | ||
| 525 | CONFIG_VT=y | ||
| 526 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
| 527 | CONFIG_VT_CONSOLE=y | ||
| 528 | CONFIG_HW_CONSOLE=y | ||
| 529 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
| 530 | CONFIG_DEVKMEM=y | ||
| 531 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
| 532 | |||
| 533 | # | ||
| 534 | # Serial drivers | ||
| 535 | # | ||
| 536 | # CONFIG_SERIAL_8250 is not set | ||
| 537 | |||
| 538 | # | ||
| 539 | # Non-8250 serial port support | ||
| 540 | # | ||
| 541 | CONFIG_SERIAL_SH_SCI=y | ||
| 542 | CONFIG_SERIAL_SH_SCI_NR_UARTS=8 | ||
| 543 | CONFIG_SERIAL_SH_SCI_CONSOLE=y | ||
| 544 | CONFIG_SERIAL_CORE=y | ||
| 545 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
| 546 | CONFIG_UNIX98_PTYS=y | ||
| 547 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
| 548 | # CONFIG_LEGACY_PTYS is not set | ||
| 549 | # CONFIG_IPMI_HANDLER is not set | ||
| 550 | # CONFIG_HW_RANDOM is not set | ||
| 551 | # CONFIG_R3964 is not set | ||
| 552 | # CONFIG_RAW_DRIVER is not set | ||
| 553 | # CONFIG_TCG_TPM is not set | ||
| 554 | # CONFIG_I2C is not set | ||
| 555 | # CONFIG_SPI is not set | ||
| 556 | |||
| 557 | # | ||
| 558 | # PPS support | ||
| 559 | # | ||
| 560 | # CONFIG_PPS is not set | ||
| 561 | # CONFIG_W1 is not set | ||
| 562 | # CONFIG_POWER_SUPPLY is not set | ||
| 563 | # CONFIG_HWMON is not set | ||
| 564 | # CONFIG_THERMAL is not set | ||
| 565 | # CONFIG_WATCHDOG is not set | ||
| 566 | CONFIG_SSB_POSSIBLE=y | ||
| 567 | |||
| 568 | # | ||
| 569 | # Sonics Silicon Backplane | ||
| 570 | # | ||
| 571 | # CONFIG_SSB is not set | ||
| 572 | |||
| 573 | # | ||
| 574 | # Multifunction device drivers | ||
| 575 | # | ||
| 576 | # CONFIG_MFD_CORE is not set | ||
| 577 | # CONFIG_MFD_SM501 is not set | ||
| 578 | # CONFIG_HTC_PASIC3 is not set | ||
| 579 | # CONFIG_MFD_TMIO is not set | ||
| 580 | # CONFIG_MFD_T7L66XB is not set | ||
| 581 | # CONFIG_MFD_TC6387XB is not set | ||
| 582 | # CONFIG_REGULATOR is not set | ||
| 583 | # CONFIG_MEDIA_SUPPORT is not set | ||
| 584 | |||
| 585 | # | ||
| 586 | # Graphics support | ||
| 587 | # | ||
| 588 | # CONFIG_VGASTATE is not set | ||
| 589 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
| 590 | # CONFIG_FB is not set | ||
| 591 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
| 592 | |||
| 593 | # | ||
| 594 | # Display device support | ||
| 595 | # | ||
| 596 | # CONFIG_DISPLAY_SUPPORT is not set | ||
| 597 | |||
| 598 | # | ||
| 599 | # Console display driver support | ||
| 600 | # | ||
| 601 | # CONFIG_VGA_CONSOLE is not set | ||
| 602 | CONFIG_DUMMY_CONSOLE=y | ||
| 603 | # CONFIG_SOUND is not set | ||
| 604 | # CONFIG_HID_SUPPORT is not set | ||
| 605 | # CONFIG_USB_SUPPORT is not set | ||
| 606 | # CONFIG_MMC is not set | ||
| 607 | # CONFIG_MEMSTICK is not set | ||
| 608 | # CONFIG_NEW_LEDS is not set | ||
| 609 | # CONFIG_ACCESSIBILITY is not set | ||
| 610 | CONFIG_RTC_LIB=y | ||
| 611 | # CONFIG_RTC_CLASS is not set | ||
| 612 | # CONFIG_DMADEVICES is not set | ||
| 613 | # CONFIG_AUXDISPLAY is not set | ||
| 614 | # CONFIG_UIO is not set | ||
| 615 | |||
| 616 | # | ||
| 617 | # TI VLYNQ | ||
| 618 | # | ||
| 619 | # CONFIG_STAGING is not set | ||
| 620 | |||
| 621 | # | ||
| 622 | # File systems | ||
| 623 | # | ||
| 624 | # CONFIG_EXT2_FS is not set | ||
| 625 | # CONFIG_EXT3_FS is not set | ||
| 626 | # CONFIG_EXT4_FS is not set | ||
| 627 | # CONFIG_REISERFS_FS is not set | ||
| 628 | # CONFIG_JFS_FS is not set | ||
| 629 | # CONFIG_FS_POSIX_ACL is not set | ||
| 630 | # CONFIG_XFS_FS is not set | ||
| 631 | # CONFIG_GFS2_FS is not set | ||
| 632 | # CONFIG_BTRFS_FS is not set | ||
| 633 | # CONFIG_NILFS2_FS is not set | ||
| 634 | CONFIG_FILE_LOCKING=y | ||
| 635 | # CONFIG_FSNOTIFY is not set | ||
| 636 | # CONFIG_DNOTIFY is not set | ||
| 637 | # CONFIG_INOTIFY is not set | ||
| 638 | # CONFIG_INOTIFY_USER is not set | ||
| 639 | # CONFIG_QUOTA is not set | ||
| 640 | # CONFIG_AUTOFS_FS is not set | ||
| 641 | # CONFIG_AUTOFS4_FS is not set | ||
| 642 | # CONFIG_FUSE_FS is not set | ||
| 643 | |||
| 644 | # | ||
| 645 | # Caches | ||
| 646 | # | ||
| 647 | # CONFIG_FSCACHE is not set | ||
| 648 | |||
| 649 | # | ||
| 650 | # CD-ROM/DVD Filesystems | ||
| 651 | # | ||
| 652 | # CONFIG_ISO9660_FS is not set | ||
| 653 | # CONFIG_UDF_FS is not set | ||
| 654 | |||
| 655 | # | ||
| 656 | # DOS/FAT/NT Filesystems | ||
| 657 | # | ||
| 658 | # CONFIG_MSDOS_FS is not set | ||
| 659 | # CONFIG_VFAT_FS is not set | ||
| 660 | # CONFIG_NTFS_FS is not set | ||
| 661 | |||
| 662 | # | ||
| 663 | # Pseudo filesystems | ||
| 664 | # | ||
| 665 | CONFIG_PROC_FS=y | ||
| 666 | CONFIG_PROC_SYSCTL=y | ||
| 667 | CONFIG_PROC_PAGE_MONITOR=y | ||
| 668 | CONFIG_SYSFS=y | ||
| 669 | CONFIG_TMPFS=y | ||
| 670 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
| 671 | # CONFIG_HUGETLB_PAGE is not set | ||
| 672 | # CONFIG_CONFIGFS_FS is not set | ||
| 673 | # CONFIG_MISC_FILESYSTEMS is not set | ||
| 674 | |||
| 675 | # | ||
| 676 | # Partition Types | ||
| 677 | # | ||
| 678 | # CONFIG_PARTITION_ADVANCED is not set | ||
| 679 | CONFIG_MSDOS_PARTITION=y | ||
| 680 | # CONFIG_NLS is not set | ||
| 681 | |||
| 682 | # | ||
| 683 | # Kernel hacking | ||
| 684 | # | ||
| 685 | # CONFIG_PRINTK_TIME is not set | ||
| 686 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
| 687 | CONFIG_ENABLE_MUST_CHECK=y | ||
| 688 | CONFIG_FRAME_WARN=1024 | ||
| 689 | CONFIG_MAGIC_SYSRQ=y | ||
| 690 | # CONFIG_STRIP_ASM_SYMS is not set | ||
| 691 | # CONFIG_UNUSED_SYMBOLS is not set | ||
| 692 | # CONFIG_DEBUG_FS is not set | ||
| 693 | # CONFIG_HEADERS_CHECK is not set | ||
| 694 | CONFIG_DEBUG_KERNEL=y | ||
| 695 | # CONFIG_DEBUG_SHIRQ is not set | ||
| 696 | # CONFIG_DETECT_SOFTLOCKUP is not set | ||
| 697 | # CONFIG_DETECT_HUNG_TASK is not set | ||
| 698 | CONFIG_SCHED_DEBUG=y | ||
| 699 | # CONFIG_SCHEDSTATS is not set | ||
| 700 | # CONFIG_TIMER_STATS is not set | ||
| 701 | # CONFIG_DEBUG_OBJECTS is not set | ||
| 702 | # CONFIG_DEBUG_SLAB is not set | ||
| 703 | # CONFIG_DEBUG_KMEMLEAK is not set | ||
| 704 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
| 705 | # CONFIG_RT_MUTEX_TESTER is not set | ||
| 706 | # CONFIG_DEBUG_SPINLOCK is not set | ||
| 707 | # CONFIG_DEBUG_MUTEXES is not set | ||
| 708 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
| 709 | # CONFIG_PROVE_LOCKING is not set | ||
| 710 | # CONFIG_LOCK_STAT is not set | ||
| 711 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
| 712 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
| 713 | # CONFIG_DEBUG_KOBJECT is not set | ||
| 714 | CONFIG_DEBUG_BUGVERBOSE=y | ||
| 715 | # CONFIG_DEBUG_INFO is not set | ||
| 716 | # CONFIG_DEBUG_VM is not set | ||
| 717 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
| 718 | CONFIG_DEBUG_MEMORY_INIT=y | ||
| 719 | # CONFIG_DEBUG_LIST is not set | ||
| 720 | # CONFIG_DEBUG_SG is not set | ||
| 721 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
| 722 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
| 723 | # CONFIG_BOOT_PRINTK_DELAY is not set | ||
| 724 | # CONFIG_RCU_TORTURE_TEST is not set | ||
| 725 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
| 726 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
| 727 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
| 728 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
| 729 | # CONFIG_FAULT_INJECTION is not set | ||
| 730 | # CONFIG_LATENCYTOP is not set | ||
| 731 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
| 732 | # CONFIG_PAGE_POISONING is not set | ||
| 733 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
| 734 | CONFIG_TRACING_SUPPORT=y | ||
| 735 | # CONFIG_FTRACE is not set | ||
| 736 | # CONFIG_SAMPLES is not set | ||
| 737 | CONFIG_HAVE_ARCH_KGDB=y | ||
| 738 | # CONFIG_KGDB is not set | ||
| 739 | CONFIG_ARM_UNWIND=y | ||
| 740 | # CONFIG_DEBUG_USER is not set | ||
| 741 | # CONFIG_DEBUG_ERRORS is not set | ||
| 742 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
| 743 | # CONFIG_DEBUG_LL is not set | ||
| 744 | # CONFIG_OC_ETM is not set | ||
| 745 | |||
| 746 | # | ||
| 747 | # Security options | ||
| 748 | # | ||
| 749 | # CONFIG_KEYS is not set | ||
| 750 | # CONFIG_SECURITY is not set | ||
| 751 | # CONFIG_SECURITYFS is not set | ||
| 752 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set | ||
| 753 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
| 754 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
| 755 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
| 756 | CONFIG_DEFAULT_SECURITY="" | ||
| 757 | # CONFIG_CRYPTO is not set | ||
| 758 | # CONFIG_BINARY_PRINTF is not set | ||
| 759 | |||
| 760 | # | ||
| 761 | # Library routines | ||
| 762 | # | ||
| 763 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
| 764 | # CONFIG_CRC_CCITT is not set | ||
| 765 | # CONFIG_CRC16 is not set | ||
| 766 | # CONFIG_CRC_T10DIF is not set | ||
| 767 | # CONFIG_CRC_ITU_T is not set | ||
| 768 | # CONFIG_CRC32 is not set | ||
| 769 | # CONFIG_CRC7 is not set | ||
| 770 | # CONFIG_LIBCRC32C is not set | ||
| 771 | CONFIG_ZLIB_INFLATE=y | ||
| 772 | CONFIG_LZO_DECOMPRESS=y | ||
| 773 | CONFIG_DECOMPRESS_GZIP=y | ||
| 774 | CONFIG_DECOMPRESS_BZIP2=y | ||
| 775 | CONFIG_DECOMPRESS_LZMA=y | ||
| 776 | CONFIG_DECOMPRESS_LZO=y | ||
| 777 | CONFIG_HAS_IOMEM=y | ||
| 778 | CONFIG_HAS_IOPORT=y | ||
| 779 | CONFIG_HAS_DMA=y | ||
| @@ -0,0 +1,2077 @@ | |||
| 1 | # | ||
| 2 | # Automatically generated make config: don't edit | ||
| 3 | # Linux kernel version: 2.6.33-rc8 | ||
| 4 | # Sat Feb 13 21:48:53 2010 | ||
| 5 | # | ||
| 6 | CONFIG_ARM=y | ||
| 7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | ||
| 8 | CONFIG_GENERIC_GPIO=y | ||
| 9 | CONFIG_GENERIC_TIME=y | ||
| 10 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
| 11 | CONFIG_GENERIC_HARDIRQS=y | ||
| 12 | CONFIG_STACKTRACE_SUPPORT=y | ||
| 13 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
| 14 | CONFIG_LOCKDEP_SUPPORT=y | ||
| 15 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
| 16 | CONFIG_HARDIRQS_SW_RESEND=y | ||
| 17 | CONFIG_GENERIC_IRQ_PROBE=y | ||
| 18 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
| 19 | CONFIG_ARCH_HAS_CPUFREQ=y | ||
| 20 | CONFIG_GENERIC_HWEIGHT=y | ||
| 21 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
| 22 | CONFIG_ARCH_MTD_XIP=y | ||
| 23 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
| 24 | CONFIG_VECTORS_BASE=0xffff0000 | ||
| 25 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
| 26 | CONFIG_CONSTRUCTORS=y | ||
| 27 | |||
| 28 | # | ||
| 29 | # General setup | ||
| 30 | # | ||
| 31 | CONFIG_EXPERIMENTAL=y | ||
| 32 | CONFIG_BROKEN_ON_SMP=y | ||
| 33 | CONFIG_LOCK_KERNEL=y | ||
| 34 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
| 35 | CONFIG_LOCALVERSION="" | ||
| 36 | # CONFIG_LOCALVERSION_AUTO is not set | ||
| 37 | CONFIG_HAVE_KERNEL_GZIP=y | ||
| 38 | CONFIG_HAVE_KERNEL_LZO=y | ||
| 39 | CONFIG_KERNEL_GZIP=y | ||
| 40 | # CONFIG_KERNEL_BZIP2 is not set | ||
| 41 | # CONFIG_KERNEL_LZMA is not set | ||
| 42 | # CONFIG_KERNEL_LZO is not set | ||
| 43 | CONFIG_SWAP=y | ||
| 44 | CONFIG_SYSVIPC=y | ||
| 45 | CONFIG_SYSVIPC_SYSCTL=y | ||
| 46 | # CONFIG_POSIX_MQUEUE is not set | ||
| 47 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
| 48 | # CONFIG_TASKSTATS is not set | ||
| 49 | # CONFIG_AUDIT is not set | ||
| 50 | |||
| 51 | # | ||
| 52 | # RCU Subsystem | ||
| 53 | # | ||
| 54 | CONFIG_TREE_RCU=y | ||
| 55 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
| 56 | # CONFIG_TINY_RCU is not set | ||
| 57 | # CONFIG_RCU_TRACE is not set | ||
| 58 | CONFIG_RCU_FANOUT=32 | ||
| 59 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
| 60 | # CONFIG_TREE_RCU_TRACE is not set | ||
| 61 | # CONFIG_IKCONFIG is not set | ||
| 62 | CONFIG_LOG_BUF_SHIFT=14 | ||
| 63 | CONFIG_GROUP_SCHED=y | ||
| 64 | CONFIG_FAIR_GROUP_SCHED=y | ||
| 65 | # CONFIG_RT_GROUP_SCHED is not set | ||
| 66 | CONFIG_USER_SCHED=y | ||
| 67 | # CONFIG_CGROUP_SCHED is not set | ||
| 68 | # CONFIG_CGROUPS is not set | ||
| 69 | CONFIG_SYSFS_DEPRECATED=y | ||
| 70 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
| 71 | # CONFIG_RELAY is not set | ||
| 72 | # CONFIG_NAMESPACES is not set | ||
| 73 | CONFIG_BLK_DEV_INITRD=y | ||
| 74 | CONFIG_INITRAMFS_SOURCE="" | ||
| 75 | CONFIG_RD_GZIP=y | ||
| 76 | CONFIG_RD_BZIP2=y | ||
| 77 | CONFIG_RD_LZMA=y | ||
| 78 | # CONFIG_RD_LZO is not set | ||
| 79 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
| 80 | CONFIG_SYSCTL=y | ||
| 81 | CONFIG_ANON_INODES=y | ||
| 82 | CONFIG_EMBEDDED=y | ||
| 83 | CONFIG_UID16=y | ||
| 84 | CONFIG_SYSCTL_SYSCALL=y | ||
| 85 | CONFIG_KALLSYMS=y | ||
| 86 | CONFIG_KALLSYMS_ALL=y | ||
| 87 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
| 88 | CONFIG_HOTPLUG=y | ||
| 89 | CONFIG_PRINTK=y | ||
| 90 | CONFIG_BUG=y | ||
| 91 | CONFIG_ELF_CORE=y | ||
| 92 | CONFIG_BASE_FULL=y | ||
| 93 | CONFIG_FUTEX=y | ||
| 94 | CONFIG_EPOLL=y | ||
| 95 | CONFIG_SIGNALFD=y | ||
| 96 | CONFIG_TIMERFD=y | ||
| 97 | CONFIG_EVENTFD=y | ||
| 98 | CONFIG_SHMEM=y | ||
| 99 | CONFIG_AIO=y | ||
| 100 | |||
| 101 | # | ||
| 102 | # Kernel Performance Events And Counters | ||
| 103 | # | ||
| 104 | CONFIG_VM_EVENT_COUNTERS=y | ||
| 105 | # CONFIG_COMPAT_BRK is not set | ||
| 106 | CONFIG_SLAB=y | ||
| 107 | # CONFIG_SLUB is not set | ||
| 108 | # CONFIG_SLOB is not set | ||
| 109 | # CONFIG_PROFILING is not set | ||
| 110 | CONFIG_HAVE_OPROFILE=y | ||
| 111 | # CONFIG_KPROBES is not set | ||
| 112 | CONFIG_HAVE_KPROBES=y | ||
| 113 | CONFIG_HAVE_KRETPROBES=y | ||
| 114 | CONFIG_HAVE_CLK=y | ||
| 115 | |||
| 116 | # | ||
| 117 | # GCOV-based kernel profiling | ||
| 118 | # | ||
| 119 | # CONFIG_GCOV_KERNEL is not set | ||
| 120 | CONFIG_SLOW_WORK=y | ||
| 121 | # CONFIG_SLOW_WORK_DEBUG is not set | ||
| 122 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | ||
| 123 | CONFIG_SLABINFO=y | ||
| 124 | CONFIG_RT_MUTEXES=y | ||
| 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_BLOCK=y | ||
| 133 | # CONFIG_LBDAF is not set | ||
| 134 | # CONFIG_BLK_DEV_BSG is not set | ||
| 135 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
| 136 | |||
| 137 | # | ||
| 138 | # IO Schedulers | ||
| 139 | # | ||
| 140 | CONFIG_IOSCHED_NOOP=y | ||
| 141 | CONFIG_IOSCHED_DEADLINE=y | ||
| 142 | # CONFIG_IOSCHED_CFQ is not set | ||
| 143 | CONFIG_DEFAULT_DEADLINE=y | ||
| 144 | # CONFIG_DEFAULT_CFQ is not set | ||
| 145 | # CONFIG_DEFAULT_NOOP is not set | ||
| 146 | CONFIG_DEFAULT_IOSCHED="deadline" | ||
| 147 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
| 148 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
| 149 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
| 150 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
| 151 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
| 152 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
| 153 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
| 154 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
| 155 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
| 156 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
| 157 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
| 158 | # CONFIG_INLINE_READ_LOCK is not set | ||
| 159 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
| 160 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
| 161 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
| 162 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
| 163 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
| 164 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
| 165 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
| 166 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
| 167 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
| 168 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
| 169 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
| 170 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
| 171 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
| 172 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
| 173 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
| 174 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
| 175 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
| 176 | CONFIG_FREEZER=y | ||
| 177 | |||
| 178 | # | ||
| 179 | # System Type | ||
| 180 | # | ||
| 181 | CONFIG_MMU=y | ||
| 182 | # CONFIG_ARCH_AAEC2000 is not set | ||
| 183 | # CONFIG_ARCH_INTEGRATOR is not set | ||
| 184 | # CONFIG_ARCH_REALVIEW is not set | ||
| 185 | # CONFIG_ARCH_VERSATILE is not set | ||
| 186 | # CONFIG_ARCH_AT91 is not set | ||
| 187 | # CONFIG_ARCH_CLPS711X is not set | ||
| 188 | # CONFIG_ARCH_GEMINI is not set | ||
| 189 | # CONFIG_ARCH_EBSA110 is not set | ||
| 190 | # CONFIG_ARCH_EP93XX is not set | ||
| 191 | # CONFIG_ARCH_FOOTBRIDGE is not set | ||
| 192 | # CONFIG_ARCH_MXC is not set | ||
| 193 | # CONFIG_ARCH_STMP3XXX is not set | ||
| 194 | # CONFIG_ARCH_NETX is not set | ||
| 195 | # CONFIG_ARCH_H720X is not set | ||
| 196 | # CONFIG_ARCH_NOMADIK is not set | ||
| 197 | # CONFIG_ARCH_IOP13XX is not set | ||
| 198 | # CONFIG_ARCH_IOP32X is not set | ||
| 199 | # CONFIG_ARCH_IOP33X is not set | ||
| 200 | # CONFIG_ARCH_IXP23XX is not set | ||
| 201 | # CONFIG_ARCH_IXP2000 is not set | ||
| 202 | # CONFIG_ARCH_IXP4XX is not set | ||
| 203 | # CONFIG_ARCH_L7200 is not set | ||
| 204 | # CONFIG_ARCH_DOVE is not set | ||
| 205 | # CONFIG_ARCH_KIRKWOOD is not set | ||
| 206 | # CONFIG_ARCH_LOKI is not set | ||
| 207 | # CONFIG_ARCH_MV78XX0 is not set | ||
| 208 | # CONFIG_ARCH_ORION5X is not set | ||
| 209 | # CONFIG_ARCH_MMP is not set | ||
| 210 | # CONFIG_ARCH_KS8695 is not set | ||
| 211 | # CONFIG_ARCH_NS9XXX is not set | ||
| 212 | # CONFIG_ARCH_W90X900 is not set | ||
| 213 | # CONFIG_ARCH_PNX4008 is not set | ||
| 214 | CONFIG_ARCH_PXA=y | ||
| 215 | # CONFIG_ARCH_MSM is not set | ||
| 216 | # CONFIG_ARCH_RPC is not set | ||
| 217 | # CONFIG_ARCH_SA1100 is not set | ||
| 218 | # CONFIG_ARCH_S3C2410 is not set | ||
| 219 | # CONFIG_ARCH_S3C64XX is not set | ||
| 220 | # CONFIG_ARCH_S5PC1XX is not set | ||
| 221 | # CONFIG_ARCH_SHARK is not set | ||
| 222 | # CONFIG_ARCH_LH7A40X is not set | ||
| 223 | # CONFIG_ARCH_U300 is not set | ||
| 224 | # CONFIG_ARCH_DAVINCI is not set | ||
| 225 | # CONFIG_ARCH_OMAP is not set | ||
| 226 | # CONFIG_ARCH_BCMRING is not set | ||
| 227 | # CONFIG_ARCH_U8500 is not set | ||
| 228 | |||
| 229 | # | ||
| 230 | # Intel PXA2xx/PXA3xx Implementations | ||
| 231 | # | ||
| 232 | |||
| 233 | # | ||
| 234 | # Intel/Marvell Dev Platforms (sorted by hardware release time) | ||
| 235 | # | ||
| 236 | # CONFIG_ARCH_LUBBOCK is not set | ||
| 237 | # CONFIG_MACH_MAINSTONE is not set | ||
| 238 | # CONFIG_MACH_ZYLONITE300 is not set | ||
| 239 | # CONFIG_MACH_ZYLONITE320 is not set | ||
| 240 | # CONFIG_MACH_LITTLETON is not set | ||
| 241 | # CONFIG_MACH_TAVOREVB is not set | ||
| 242 | # CONFIG_MACH_SAAR is not set | ||
| 243 | |||
| 244 | # | ||
| 245 | # Third Party Dev Platforms (sorted by vendor name) | ||
| 246 | # | ||
| 247 | # CONFIG_ARCH_PXA_IDP is not set | ||
| 248 | # CONFIG_ARCH_VIPER is not set | ||
| 249 | # CONFIG_MACH_ARCOM_ZEUS is not set | ||
| 250 | # CONFIG_MACH_BALLOON3 is not set | ||
| 251 | # CONFIG_MACH_CSB726 is not set | ||
| 252 | # CONFIG_MACH_ARMCORE is not set | ||
| 253 | # CONFIG_MACH_EM_X270 is not set | ||
| 254 | # CONFIG_MACH_EXEDA is not set | ||
| 255 | # CONFIG_MACH_CM_X300 is not set | ||
| 256 | # CONFIG_ARCH_GUMSTIX is not set | ||
| 257 | CONFIG_MACH_INTELMOTE2=y | ||
| 258 | # CONFIG_MACH_STARGATE2 is not set | ||
| 259 | # CONFIG_MACH_XCEP is not set | ||
| 260 | # CONFIG_TRIZEPS_PXA is not set | ||
| 261 | # CONFIG_MACH_LOGICPD_PXA270 is not set | ||
| 262 | # CONFIG_MACH_PCM027 is not set | ||
| 263 | # CONFIG_MACH_COLIBRI is not set | ||
| 264 | # CONFIG_MACH_COLIBRI300 is not set | ||
| 265 | # CONFIG_MACH_COLIBRI320 is not set | ||
| 266 | |||
| 267 | # | ||
| 268 | # End-user Products (sorted by vendor name) | ||
| 269 | # | ||
| 270 | # CONFIG_MACH_H4700 is not set | ||
| 271 | # CONFIG_MACH_H5000 is not set | ||
| 272 | # CONFIG_MACH_HIMALAYA is not set | ||
| 273 | # CONFIG_MACH_MAGICIAN is not set | ||
| 274 | # CONFIG_MACH_MIOA701 is not set | ||
| 275 | # CONFIG_PXA_EZX is not set | ||
| 276 | # CONFIG_MACH_MP900C is not set | ||
| 277 | # CONFIG_ARCH_PXA_PALM is not set | ||
| 278 | # CONFIG_PXA_SHARPSL is not set | ||
| 279 | # CONFIG_ARCH_PXA_ESERIES is not set | ||
| 280 | CONFIG_PXA27x=y | ||
| 281 | CONFIG_PXA_SSP=y | ||
| 282 | CONFIG_PXA_HAVE_BOARD_IRQS=y | ||
| 283 | CONFIG_PLAT_PXA=y | ||
| 284 | |||
| 285 | # | ||
| 286 | # Processor Type | ||
| 287 | # | ||
| 288 | CONFIG_CPU_XSCALE=y | ||
| 289 | CONFIG_CPU_32v5=y | ||
| 290 | CONFIG_CPU_ABRT_EV5T=y | ||
| 291 | CONFIG_CPU_PABRT_LEGACY=y | ||
| 292 | CONFIG_CPU_CACHE_VIVT=y | ||
| 293 | CONFIG_CPU_TLB_V4WBI=y | ||
| 294 | CONFIG_CPU_CP15=y | ||
| 295 | CONFIG_CPU_CP15_MMU=y | ||
| 296 | |||
| 297 | # | ||
| 298 | # Processor Features | ||
| 299 | # | ||
| 300 | CONFIG_ARM_THUMB=y | ||
| 301 | # CONFIG_CPU_DCACHE_DISABLE is not set | ||
| 302 | CONFIG_ARM_L1_CACHE_SHIFT=5 | ||
| 303 | CONFIG_IWMMXT=y | ||
| 304 | CONFIG_XSCALE_PMU=y | ||
| 305 | CONFIG_COMMON_CLKDEV=y | ||
| 306 | |||
| 307 | # | ||
| 308 | # Bus support | ||
| 309 | # | ||
| 310 | # CONFIG_PCI_SYSCALL is not set | ||
| 311 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
| 312 | # CONFIG_PCCARD is not set | ||
| 313 | |||
| 314 | # | ||
| 315 | # Kernel Features | ||
| 316 | # | ||
| 317 | CONFIG_TICK_ONESHOT=y | ||
| 318 | CONFIG_NO_HZ=y | ||
| 319 | CONFIG_HIGH_RES_TIMERS=y | ||
| 320 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
| 321 | CONFIG_VMSPLIT_3G=y | ||
| 322 | # CONFIG_VMSPLIT_2G is not set | ||
| 323 | # CONFIG_VMSPLIT_1G is not set | ||
| 324 | CONFIG_PAGE_OFFSET=0xC0000000 | ||
| 325 | # CONFIG_PREEMPT_NONE is not set | ||
| 326 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
| 327 | CONFIG_PREEMPT=y | ||
| 328 | CONFIG_HZ=100 | ||
| 329 | CONFIG_AEABI=y | ||
| 330 | CONFIG_OABI_COMPAT=y | ||
| 331 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set | ||
| 332 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set | ||
| 333 | # CONFIG_HIGHMEM is not set | ||
| 334 | CONFIG_SELECT_MEMORY_MODEL=y | ||
| 335 | CONFIG_FLATMEM_MANUAL=y | ||
| 336 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
| 337 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
| 338 | CONFIG_FLATMEM=y | ||
| 339 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
| 340 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
| 341 | CONFIG_SPLIT_PTLOCK_CPUS=999999 | ||
| 342 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
| 343 | CONFIG_ZONE_DMA_FLAG=0 | ||
| 344 | CONFIG_VIRT_TO_BUS=y | ||
| 345 | # CONFIG_KSM is not set | ||
| 346 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
| 347 | CONFIG_ALIGNMENT_TRAP=y | ||
| 348 | # CONFIG_UACCESS_WITH_MEMCPY is not set | ||
| 349 | |||
| 350 | # | ||
| 351 | # Boot options | ||
| 352 | # | ||
| 353 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
| 354 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
| 355 | CONFIG_CMDLINE="console=tty1 root=/dev/mmcblk0p2 rootfstype=ext2 rootdelay=3 ip=192.168.0.202:192.168.0.200:192.168.0.200:255.255.255.0 debug" | ||
| 356 | # CONFIG_XIP_KERNEL is not set | ||
| 357 | CONFIG_KEXEC=y | ||
| 358 | CONFIG_ATAGS_PROC=y | ||
| 359 | |||
| 360 | # | ||
| 361 | # CPU Power Management | ||
| 362 | # | ||
| 363 | CONFIG_CPU_FREQ=y | ||
| 364 | CONFIG_CPU_FREQ_TABLE=y | ||
| 365 | CONFIG_CPU_FREQ_DEBUG=y | ||
| 366 | CONFIG_CPU_FREQ_STAT=y | ||
| 367 | # CONFIG_CPU_FREQ_STAT_DETAILS is not set | ||
| 368 | CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y | ||
| 369 | # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set | ||
| 370 | # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set | ||
| 371 | # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set | ||
| 372 | # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set | ||
| 373 | CONFIG_CPU_FREQ_GOV_PERFORMANCE=y | ||
| 374 | CONFIG_CPU_FREQ_GOV_POWERSAVE=m | ||
| 375 | CONFIG_CPU_FREQ_GOV_USERSPACE=m | ||
| 376 | CONFIG_CPU_FREQ_GOV_ONDEMAND=m | ||
| 377 | CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m | ||
| 378 | CONFIG_CPU_IDLE=y | ||
| 379 | CONFIG_CPU_IDLE_GOV_LADDER=y | ||
| 380 | CONFIG_CPU_IDLE_GOV_MENU=y | ||
| 381 | |||
| 382 | # | ||
| 383 | # Floating point emulation | ||
| 384 | # | ||
| 385 | |||
| 386 | # | ||
| 387 | # At least one emulation must be selected | ||
| 388 | # | ||
| 389 | CONFIG_FPE_NWFPE=y | ||
| 390 | # CONFIG_FPE_NWFPE_XP is not set | ||
| 391 | # CONFIG_FPE_FASTFPE is not set | ||
| 392 | |||
| 393 | # | ||
| 394 | # Userspace binary formats | ||
| 395 | # | ||
| 396 | CONFIG_BINFMT_ELF=y | ||
| 397 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
| 398 | CONFIG_HAVE_AOUT=y | ||
| 399 | CONFIG_BINFMT_AOUT=m | ||
| 400 | CONFIG_BINFMT_MISC=m | ||
| 401 | |||
| 402 | # | ||
| 403 | # Power management options | ||
| 404 | # | ||
| 405 | CONFIG_PM=y | ||
| 406 | # CONFIG_PM_DEBUG is not set | ||
| 407 | CONFIG_PM_SLEEP=y | ||
| 408 | CONFIG_SUSPEND=y | ||
| 409 | CONFIG_SUSPEND_FREEZER=y | ||
| 410 | CONFIG_APM_EMULATION=y | ||
| 411 | CONFIG_PM_RUNTIME=y | ||
| 412 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
| 413 | CONFIG_NET=y | ||
| 414 | |||
| 415 | # | ||
| 416 | # Networking options | ||
| 417 | # | ||
| 418 | CONFIG_PACKET=y | ||
| 419 | CONFIG_PACKET_MMAP=y | ||
| 420 | CONFIG_UNIX=y | ||
| 421 | CONFIG_XFRM=y | ||
| 422 | # CONFIG_XFRM_USER is not set | ||
| 423 | # CONFIG_XFRM_SUB_POLICY is not set | ||
| 424 | # CONFIG_XFRM_MIGRATE is not set | ||
| 425 | # CONFIG_XFRM_STATISTICS is not set | ||
| 426 | CONFIG_XFRM_IPCOMP=m | ||
| 427 | # CONFIG_NET_KEY is not set | ||
| 428 | CONFIG_INET=y | ||
| 429 | # CONFIG_IP_MULTICAST is not set | ||
| 430 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
| 431 | CONFIG_IP_FIB_HASH=y | ||
| 432 | CONFIG_IP_PNP=y | ||
| 433 | CONFIG_IP_PNP_DHCP=y | ||
| 434 | CONFIG_IP_PNP_BOOTP=y | ||
| 435 | CONFIG_IP_PNP_RARP=y | ||
| 436 | # CONFIG_NET_IPIP is not set | ||
| 437 | # CONFIG_NET_IPGRE is not set | ||
| 438 | # CONFIG_ARPD is not set | ||
| 439 | CONFIG_SYN_COOKIES=y | ||
| 440 | # CONFIG_INET_AH is not set | ||
| 441 | # CONFIG_INET_ESP is not set | ||
| 442 | # CONFIG_INET_IPCOMP is not set | ||
| 443 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
| 444 | CONFIG_INET_TUNNEL=m | ||
| 445 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set | ||
| 446 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set | ||
| 447 | # CONFIG_INET_XFRM_MODE_BEET is not set | ||
| 448 | # CONFIG_INET_LRO is not set | ||
| 449 | # CONFIG_INET_DIAG is not set | ||
| 450 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
| 451 | CONFIG_TCP_CONG_CUBIC=y | ||
| 452 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
| 453 | # CONFIG_TCP_MD5SIG is not set | ||
| 454 | CONFIG_IPV6=m | ||
| 455 | # CONFIG_IPV6_PRIVACY is not set | ||
| 456 | # CONFIG_IPV6_ROUTER_PREF is not set | ||
| 457 | # CONFIG_IPV6_OPTIMISTIC_DAD is not set | ||
| 458 | CONFIG_INET6_AH=m | ||
| 459 | CONFIG_INET6_ESP=m | ||
| 460 | CONFIG_INET6_IPCOMP=m | ||
| 461 | CONFIG_IPV6_MIP6=m | ||
| 462 | CONFIG_INET6_XFRM_TUNNEL=m | ||
| 463 | CONFIG_INET6_TUNNEL=m | ||
| 464 | CONFIG_INET6_XFRM_MODE_TRANSPORT=m | ||
| 465 | CONFIG_INET6_XFRM_MODE_TUNNEL=m | ||
| 466 | CONFIG_INET6_XFRM_MODE_BEET=m | ||
| 467 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set | ||
| 468 | CONFIG_IPV6_SIT=m | ||
| 469 | # CONFIG_IPV6_SIT_6RD is not set | ||
| 470 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
| 471 | CONFIG_IPV6_TUNNEL=m | ||
| 472 | CONFIG_IPV6_MULTIPLE_TABLES=y | ||
| 473 | CONFIG_IPV6_SUBTREES=y | ||
| 474 | # CONFIG_IPV6_MROUTE is not set | ||
| 475 | # CONFIG_NETWORK_SECMARK is not set | ||
| 476 | CONFIG_NETFILTER=y | ||
| 477 | # CONFIG_NETFILTER_DEBUG is not set | ||
| 478 | CONFIG_NETFILTER_ADVANCED=y | ||
| 479 | CONFIG_BRIDGE_NETFILTER=y | ||
| 480 | |||
| 481 | # | ||
| 482 | # Core Netfilter Configuration | ||
| 483 | # | ||
| 484 | CONFIG_NETFILTER_NETLINK=m | ||
| 485 | CONFIG_NETFILTER_NETLINK_QUEUE=m | ||
| 486 | CONFIG_NETFILTER_NETLINK_LOG=m | ||
| 487 | CONFIG_NF_CONNTRACK=m | ||
| 488 | CONFIG_NF_CT_ACCT=y | ||
| 489 | CONFIG_NF_CONNTRACK_MARK=y | ||
| 490 | CONFIG_NF_CONNTRACK_EVENTS=y | ||
| 491 | # CONFIG_NF_CT_PROTO_DCCP is not set | ||
| 492 | CONFIG_NF_CT_PROTO_GRE=m | ||
| 493 | CONFIG_NF_CT_PROTO_SCTP=m | ||
| 494 | CONFIG_NF_CT_PROTO_UDPLITE=m | ||
| 495 | CONFIG_NF_CONNTRACK_AMANDA=m | ||
| 496 | CONFIG_NF_CONNTRACK_FTP=m | ||
| 497 | CONFIG_NF_CONNTRACK_H323=m | ||
| 498 | CONFIG_NF_CONNTRACK_IRC=m | ||
| 499 | CONFIG_NF_CONNTRACK_NETBIOS_NS=m | ||
| 500 | CONFIG_NF_CONNTRACK_PPTP=m | ||
| 501 | CONFIG_NF_CONNTRACK_SANE=m | ||
| 502 | CONFIG_NF_CONNTRACK_SIP=m | ||
| 503 | CONFIG_NF_CONNTRACK_TFTP=m | ||
| 504 | CONFIG_NF_CT_NETLINK=m | ||
| 505 | # CONFIG_NETFILTER_TPROXY is not set | ||
| 506 | CONFIG_NETFILTER_XTABLES=m | ||
| 507 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m | ||
| 508 | # CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set | ||
| 509 | # CONFIG_NETFILTER_XT_TARGET_DSCP is not set | ||
| 510 | CONFIG_NETFILTER_XT_TARGET_HL=m | ||
| 511 | CONFIG_NETFILTER_XT_TARGET_LED=m | ||
| 512 | CONFIG_NETFILTER_XT_TARGET_MARK=m | ||
| 513 | CONFIG_NETFILTER_XT_TARGET_NFLOG=m | ||
| 514 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | ||
| 515 | # CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set | ||
| 516 | # CONFIG_NETFILTER_XT_TARGET_RATEEST is not set | ||
| 517 | # CONFIG_NETFILTER_XT_TARGET_TRACE is not set | ||
| 518 | CONFIG_NETFILTER_XT_TARGET_TCPMSS=m | ||
| 519 | # CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set | ||
| 520 | # CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set | ||
| 521 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | ||
| 522 | CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m | ||
| 523 | CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m | ||
| 524 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | ||
| 525 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | ||
| 526 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | ||
| 527 | CONFIG_NETFILTER_XT_MATCH_DSCP=m | ||
| 528 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
| 529 | CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m | ||
| 530 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | ||
| 531 | CONFIG_NETFILTER_XT_MATCH_HL=m | ||
| 532 | # CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set | ||
| 533 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | ||
| 534 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | ||
| 535 | CONFIG_NETFILTER_XT_MATCH_MAC=m | ||
| 536 | CONFIG_NETFILTER_XT_MATCH_MARK=m | ||
| 537 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
| 538 | # CONFIG_NETFILTER_XT_MATCH_OWNER is not set | ||
| 539 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
| 540 | # CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set | ||
| 541 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | ||
| 542 | CONFIG_NETFILTER_XT_MATCH_QUOTA=m | ||
| 543 | # CONFIG_NETFILTER_XT_MATCH_RATEEST is not set | ||
| 544 | CONFIG_NETFILTER_XT_MATCH_REALM=m | ||
| 545 | # CONFIG_NETFILTER_XT_MATCH_RECENT is not set | ||
| 546 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | ||
| 547 | CONFIG_NETFILTER_XT_MATCH_STATE=m | ||
| 548 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | ||
| 549 | CONFIG_NETFILTER_XT_MATCH_STRING=m | ||
| 550 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | ||
| 551 | CONFIG_NETFILTER_XT_MATCH_TIME=m | ||
| 552 | CONFIG_NETFILTER_XT_MATCH_U32=m | ||
| 553 | # CONFIG_NETFILTER_XT_MATCH_OSF is not set | ||
| 554 | # CONFIG_IP_VS is not set | ||
| 555 | |||
| 556 | # | ||
| 557 | # IP: Netfilter Configuration | ||
| 558 | # | ||
| 559 | CONFIG_NF_DEFRAG_IPV4=m | ||
| 560 | CONFIG_NF_CONNTRACK_IPV4=m | ||
| 561 | CONFIG_NF_CONNTRACK_PROC_COMPAT=y | ||
| 562 | CONFIG_IP_NF_QUEUE=m | ||
| 563 | CONFIG_IP_NF_IPTABLES=m | ||
| 564 | CONFIG_IP_NF_MATCH_ADDRTYPE=m | ||
| 565 | CONFIG_IP_NF_MATCH_AH=m | ||
| 566 | CONFIG_IP_NF_MATCH_ECN=m | ||
| 567 | CONFIG_IP_NF_MATCH_TTL=m | ||
| 568 | CONFIG_IP_NF_FILTER=m | ||
| 569 | CONFIG_IP_NF_TARGET_REJECT=m | ||
| 570 | CONFIG_IP_NF_TARGET_LOG=m | ||
| 571 | CONFIG_IP_NF_TARGET_ULOG=m | ||
| 572 | CONFIG_NF_NAT=m | ||
| 573 | CONFIG_NF_NAT_NEEDED=y | ||
| 574 | CONFIG_IP_NF_TARGET_MASQUERADE=m | ||
| 575 | CONFIG_IP_NF_TARGET_NETMAP=m | ||
| 576 | CONFIG_IP_NF_TARGET_REDIRECT=m | ||
| 577 | CONFIG_NF_NAT_SNMP_BASIC=m | ||
| 578 | CONFIG_NF_NAT_PROTO_GRE=m | ||
| 579 | CONFIG_NF_NAT_PROTO_UDPLITE=m | ||
| 580 | CONFIG_NF_NAT_PROTO_SCTP=m | ||
| 581 | CONFIG_NF_NAT_FTP=m | ||
| 582 | CONFIG_NF_NAT_IRC=m | ||
| 583 | CONFIG_NF_NAT_TFTP=m | ||
| 584 | CONFIG_NF_NAT_AMANDA=m | ||
| 585 | CONFIG_NF_NAT_PPTP=m | ||
| 586 | CONFIG_NF_NAT_H323=m | ||
| 587 | CONFIG_NF_NAT_SIP=m | ||
| 588 | CONFIG_IP_NF_MANGLE=m | ||
| 589 | CONFIG_IP_NF_TARGET_CLUSTERIP=m | ||
| 590 | CONFIG_IP_NF_TARGET_ECN=m | ||
| 591 | CONFIG_IP_NF_TARGET_TTL=m | ||
| 592 | CONFIG_IP_NF_RAW=m | ||
| 593 | CONFIG_IP_NF_ARPTABLES=m | ||
| 594 | CONFIG_IP_NF_ARPFILTER=m | ||
| 595 | CONFIG_IP_NF_ARP_MANGLE=m | ||
| 596 | |||
| 597 | # | ||
| 598 | # IPv6: Netfilter Configuration | ||
| 599 | # | ||
| 600 | CONFIG_NF_CONNTRACK_IPV6=m | ||
| 601 | CONFIG_IP6_NF_QUEUE=m | ||
| 602 | CONFIG_IP6_NF_IPTABLES=m | ||
| 603 | CONFIG_IP6_NF_MATCH_AH=m | ||
| 604 | CONFIG_IP6_NF_MATCH_EUI64=m | ||
| 605 | CONFIG_IP6_NF_MATCH_FRAG=m | ||
| 606 | CONFIG_IP6_NF_MATCH_OPTS=m | ||
| 607 | CONFIG_IP6_NF_MATCH_HL=m | ||
| 608 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | ||
| 609 | CONFIG_IP6_NF_MATCH_MH=m | ||
| 610 | CONFIG_IP6_NF_MATCH_RT=m | ||
| 611 | CONFIG_IP6_NF_TARGET_HL=m | ||
| 612 | CONFIG_IP6_NF_TARGET_LOG=m | ||
| 613 | CONFIG_IP6_NF_FILTER=m | ||
| 614 | CONFIG_IP6_NF_TARGET_REJECT=m | ||
| 615 | CONFIG_IP6_NF_MANGLE=m | ||
| 616 | CONFIG_IP6_NF_RAW=m | ||
| 617 | # CONFIG_BRIDGE_NF_EBTABLES is not set | ||
| 618 | # CONFIG_IP_DCCP is not set | ||
| 619 | # CONFIG_IP_SCTP is not set | ||
| 620 | # CONFIG_RDS is not set | ||
| 621 | # CONFIG_TIPC is not set | ||
| 622 | # CONFIG_ATM is not set | ||
| 623 | CONFIG_STP=m | ||
| 624 | CONFIG_BRIDGE=m | ||
| 625 | # CONFIG_NET_DSA is not set | ||
| 626 | # CONFIG_VLAN_8021Q is not set | ||
| 627 | # CONFIG_DECNET is not set | ||
| 628 | CONFIG_LLC=m | ||
| 629 | # CONFIG_LLC2 is not set | ||
| 630 | # CONFIG_IPX is not set | ||
| 631 | # CONFIG_ATALK is not set | ||
| 632 | # CONFIG_X25 is not set | ||
| 633 | # CONFIG_LAPB is not set | ||
| 634 | # CONFIG_ECONET is not set | ||
| 635 | # CONFIG_WAN_ROUTER is not set | ||
| 636 | # CONFIG_PHONET is not set | ||
| 637 | CONFIG_IEEE802154=y | ||
| 638 | # CONFIG_NET_SCHED is not set | ||
| 639 | CONFIG_NET_CLS_ROUTE=y | ||
| 640 | # CONFIG_DCB is not set | ||
| 641 | |||
| 642 | # | ||
| 643 | # Network testing | ||
| 644 | # | ||
| 645 | # CONFIG_NET_PKTGEN is not set | ||
| 646 | # CONFIG_HAMRADIO is not set | ||
| 647 | # CONFIG_CAN is not set | ||
| 648 | # CONFIG_IRDA is not set | ||
| 649 | CONFIG_BT=y | ||
| 650 | CONFIG_BT_L2CAP=y | ||
| 651 | CONFIG_BT_SCO=y | ||
| 652 | CONFIG_BT_RFCOMM=y | ||
| 653 | CONFIG_BT_RFCOMM_TTY=y | ||
| 654 | CONFIG_BT_BNEP=y | ||
| 655 | CONFIG_BT_BNEP_MC_FILTER=y | ||
| 656 | CONFIG_BT_BNEP_PROTO_FILTER=y | ||
| 657 | CONFIG_BT_HIDP=y | ||
| 658 | |||
| 659 | # | ||
| 660 | # Bluetooth device drivers | ||
| 661 | # | ||
| 662 | CONFIG_BT_HCIBTUSB=m | ||
| 663 | CONFIG_BT_HCIBTSDIO=m | ||
| 664 | CONFIG_BT_HCIUART=y | ||
| 665 | CONFIG_BT_HCIUART_H4=y | ||
| 666 | # CONFIG_BT_HCIUART_BCSP is not set | ||
| 667 | # CONFIG_BT_HCIUART_LL is not set | ||
| 668 | CONFIG_BT_HCIBCM203X=m | ||
| 669 | CONFIG_BT_HCIBPA10X=m | ||
| 670 | CONFIG_BT_HCIBFUSB=m | ||
| 671 | CONFIG_BT_HCIVHCI=m | ||
| 672 | CONFIG_BT_MRVL=m | ||
| 673 | CONFIG_BT_MRVL_SDIO=m | ||
| 674 | # CONFIG_BT_ATH3K is not set | ||
| 675 | # CONFIG_AF_RXRPC is not set | ||
| 676 | CONFIG_FIB_RULES=y | ||
| 677 | # CONFIG_WIRELESS is not set | ||
| 678 | # CONFIG_WIMAX is not set | ||
| 679 | # CONFIG_RFKILL is not set | ||
| 680 | # CONFIG_NET_9P is not set | ||
| 681 | |||
| 682 | # | ||
| 683 | # Device Drivers | ||
| 684 | # | ||
| 685 | |||
| 686 | # | ||
| 687 | # Generic Driver Options | ||
| 688 | # | ||
| 689 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
| 690 | # CONFIG_DEVTMPFS is not set | ||
| 691 | CONFIG_STANDALONE=y | ||
| 692 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
| 693 | CONFIG_FW_LOADER=m | ||
| 694 | CONFIG_FIRMWARE_IN_KERNEL=y | ||
| 695 | CONFIG_EXTRA_FIRMWARE="" | ||
| 696 | # CONFIG_DEBUG_DRIVER is not set | ||
| 697 | # CONFIG_DEBUG_DEVRES is not set | ||
| 698 | # CONFIG_SYS_HYPERVISOR is not set | ||
| 699 | CONFIG_CONNECTOR=m | ||
| 700 | CONFIG_MTD=y | ||
| 701 | # CONFIG_MTD_DEBUG is not set | ||
| 702 | # CONFIG_MTD_TESTS is not set | ||
| 703 | # CONFIG_MTD_CONCAT is not set | ||
| 704 | CONFIG_MTD_PARTITIONS=y | ||
| 705 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
| 706 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
| 707 | # CONFIG_MTD_AFS_PARTS is not set | ||
| 708 | # CONFIG_MTD_AR7_PARTS is not set | ||
| 709 | |||
| 710 | # | ||
| 711 | # User Modules And Translation Layers | ||
| 712 | # | ||
| 713 | CONFIG_MTD_CHAR=y | ||
| 714 | CONFIG_HAVE_MTD_OTP=y | ||
| 715 | CONFIG_MTD_BLKDEVS=y | ||
| 716 | CONFIG_MTD_BLOCK=y | ||
| 717 | # CONFIG_FTL is not set | ||
| 718 | # CONFIG_NFTL is not set | ||
| 719 | # CONFIG_INFTL is not set | ||
| 720 | # CONFIG_RFD_FTL is not set | ||
| 721 | # CONFIG_SSFDC is not set | ||
| 722 | # CONFIG_MTD_OOPS is not set | ||
| 723 | |||
| 724 | # | ||
| 725 | # RAM/ROM/Flash chip drivers | ||
| 726 | # | ||
| 727 | CONFIG_MTD_CFI=y | ||
| 728 | # CONFIG_MTD_JEDECPROBE is not set | ||
| 729 | CONFIG_MTD_GEN_PROBE=y | ||
| 730 | CONFIG_MTD_CFI_ADV_OPTIONS=y | ||
| 731 | CONFIG_MTD_CFI_NOSWAP=y | ||
| 732 | # CONFIG_MTD_CFI_BE_BYTE_SWAP is not set | ||
| 733 | # CONFIG_MTD_CFI_LE_BYTE_SWAP is not set | ||
| 734 | CONFIG_MTD_CFI_GEOMETRY=y | ||
| 735 | # CONFIG_MTD_MAP_BANK_WIDTH_1 is not set | ||
| 736 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
| 737 | # CONFIG_MTD_MAP_BANK_WIDTH_4 is not set | ||
| 738 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
| 739 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
| 740 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
| 741 | CONFIG_MTD_CFI_I1=y | ||
| 742 | # CONFIG_MTD_CFI_I2 is not set | ||
| 743 | # CONFIG_MTD_CFI_I4 is not set | ||
| 744 | # CONFIG_MTD_CFI_I8 is not set | ||
| 745 | CONFIG_MTD_OTP=y | ||
| 746 | CONFIG_MTD_CFI_INTELEXT=y | ||
| 747 | # CONFIG_MTD_CFI_AMDSTD is not set | ||
| 748 | # CONFIG_MTD_CFI_STAA is not set | ||
| 749 | CONFIG_MTD_CFI_UTIL=y | ||
| 750 | # CONFIG_MTD_RAM is not set | ||
| 751 | # CONFIG_MTD_ROM is not set | ||
| 752 | # CONFIG_MTD_ABSENT is not set | ||
| 753 | # CONFIG_MTD_XIP is not set | ||
| 754 | |||
| 755 | # | ||
| 756 | # Mapping drivers for chip access | ||
| 757 | # | ||
| 758 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
| 759 | # CONFIG_MTD_PHYSMAP is not set | ||
| 760 | CONFIG_MTD_PXA2XX=y | ||
| 761 | # CONFIG_MTD_ARM_INTEGRATOR is not set | ||
| 762 | # CONFIG_MTD_PLATRAM is not set | ||
| 763 | |||
| 764 | # | ||
| 765 | # Self-contained MTD device drivers | ||
| 766 | # | ||
| 767 | # CONFIG_MTD_DATAFLASH is not set | ||
| 768 | # CONFIG_MTD_M25P80 is not set | ||
| 769 | # CONFIG_MTD_SST25L is not set | ||
| 770 | # CONFIG_MTD_SLRAM is not set | ||
| 771 | # CONFIG_MTD_PHRAM is not set | ||
| 772 | # CONFIG_MTD_MTDRAM is not set | ||
| 773 | # CONFIG_MTD_BLOCK2MTD is not set | ||
| 774 | |||
| 775 | # | ||
| 776 | # Disk-On-Chip Device Drivers | ||
| 777 | # | ||
| 778 | # CONFIG_MTD_DOC2000 is not set | ||
| 779 | # CONFIG_MTD_DOC2001 is not set | ||
| 780 | # CONFIG_MTD_DOC2001PLUS is not set | ||
| 781 | # CONFIG_MTD_NAND is not set | ||
| 782 | # CONFIG_MTD_ONENAND is not set | ||
| 783 | |||
| 784 | # | ||
| 785 | # LPDDR flash memory drivers | ||
| 786 | # | ||
| 787 | # CONFIG_MTD_LPDDR is not set | ||
| 788 | |||
| 789 | # | ||
| 790 | # UBI - Unsorted block images | ||
| 791 | # | ||
| 792 | # CONFIG_MTD_UBI is not set | ||
| 793 | # CONFIG_PARPORT is not set | ||
| 794 | CONFIG_BLK_DEV=y | ||
| 795 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
| 796 | CONFIG_BLK_DEV_LOOP=m | ||
| 797 | CONFIG_BLK_DEV_CRYPTOLOOP=m | ||
| 798 | # CONFIG_BLK_DEV_DRBD is not set | ||
| 799 | CONFIG_BLK_DEV_NBD=m | ||
| 800 | # CONFIG_BLK_DEV_UB is not set | ||
| 801 | CONFIG_BLK_DEV_RAM=y | ||
| 802 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
| 803 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
| 804 | # CONFIG_BLK_DEV_XIP is not set | ||
| 805 | # CONFIG_CDROM_PKTCDVD is not set | ||
| 806 | # CONFIG_ATA_OVER_ETH is not set | ||
| 807 | # CONFIG_MG_DISK is not set | ||
| 808 | # CONFIG_MISC_DEVICES is not set | ||
| 809 | CONFIG_HAVE_IDE=y | ||
| 810 | # CONFIG_IDE is not set | ||
| 811 | |||
| 812 | # | ||
| 813 | # SCSI device support | ||
| 814 | # | ||
| 815 | # CONFIG_RAID_ATTRS is not set | ||
| 816 | # CONFIG_SCSI is not set | ||
| 817 | # CONFIG_SCSI_DMA is not set | ||
| 818 | # CONFIG_SCSI_NETLINK is not set | ||
| 819 | # CONFIG_ATA is not set | ||
| 820 | # CONFIG_MD is not set | ||
| 821 | CONFIG_NETDEVICES=y | ||
| 822 | CONFIG_DUMMY=y | ||
| 823 | # CONFIG_BONDING is not set | ||
| 824 | # CONFIG_MACVLAN is not set | ||
| 825 | # CONFIG_EQUALIZER is not set | ||
| 826 | # CONFIG_TUN is not set | ||
| 827 | # CONFIG_VETH is not set | ||
| 828 | # CONFIG_NET_ETHERNET is not set | ||
| 829 | # CONFIG_NETDEV_1000 is not set | ||
| 830 | # CONFIG_NETDEV_10000 is not set | ||
| 831 | # CONFIG_WLAN is not set | ||
| 832 | |||
| 833 | # | ||
| 834 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
| 835 | # | ||
| 836 | |||
| 837 | # | ||
| 838 | # USB Network Adapters | ||
| 839 | # | ||
| 840 | # CONFIG_USB_CATC is not set | ||
| 841 | # CONFIG_USB_KAWETH is not set | ||
| 842 | # CONFIG_USB_PEGASUS is not set | ||
| 843 | # CONFIG_USB_RTL8150 is not set | ||
| 844 | # CONFIG_USB_USBNET is not set | ||
| 845 | # CONFIG_WAN is not set | ||
| 846 | CONFIG_IEEE802154_DRIVERS=y | ||
| 847 | # CONFIG_IEEE802154_FAKEHARD is not set | ||
| 848 | CONFIG_PPP=m | ||
| 849 | CONFIG_PPP_MULTILINK=y | ||
| 850 | CONFIG_PPP_FILTER=y | ||
| 851 | CONFIG_PPP_ASYNC=m | ||
| 852 | CONFIG_PPP_SYNC_TTY=m | ||
| 853 | CONFIG_PPP_DEFLATE=m | ||
| 854 | CONFIG_PPP_BSDCOMP=m | ||
| 855 | # CONFIG_PPP_MPPE is not set | ||
| 856 | # CONFIG_PPPOE is not set | ||
| 857 | # CONFIG_PPPOL2TP is not set | ||
| 858 | # CONFIG_SLIP is not set | ||
| 859 | CONFIG_SLHC=m | ||
| 860 | # CONFIG_NETCONSOLE is not set | ||
| 861 | # CONFIG_NETPOLL is not set | ||
| 862 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
| 863 | # CONFIG_ISDN is not set | ||
| 864 | # CONFIG_PHONE is not set | ||
| 865 | |||
| 866 | # | ||
| 867 | # Input device support | ||
| 868 | # | ||
| 869 | CONFIG_INPUT=y | ||
| 870 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
| 871 | # CONFIG_INPUT_POLLDEV is not set | ||
| 872 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
| 873 | |||
| 874 | # | ||
| 875 | # Userland interfaces | ||
| 876 | # | ||
| 877 | # CONFIG_INPUT_MOUSEDEV is not set | ||
| 878 | # CONFIG_INPUT_JOYDEV is not set | ||
| 879 | CONFIG_INPUT_EVDEV=y | ||
| 880 | # CONFIG_INPUT_EVBUG is not set | ||
| 881 | # CONFIG_INPUT_APMPOWER is not set | ||
| 882 | |||
| 883 | # | ||
| 884 | # Input Device Drivers | ||
| 885 | # | ||
| 886 | CONFIG_INPUT_KEYBOARD=y | ||
| 887 | # CONFIG_KEYBOARD_ADP5588 is not set | ||
| 888 | # CONFIG_KEYBOARD_ATKBD is not set | ||
| 889 | # CONFIG_QT2160 is not set | ||
| 890 | # CONFIG_KEYBOARD_LKKBD is not set | ||
| 891 | CONFIG_KEYBOARD_GPIO=y | ||
| 892 | # CONFIG_KEYBOARD_MATRIX is not set | ||
| 893 | # CONFIG_KEYBOARD_LM8323 is not set | ||
| 894 | # CONFIG_KEYBOARD_MAX7359 is not set | ||
| 895 | # CONFIG_KEYBOARD_NEWTON is not set | ||
| 896 | # CONFIG_KEYBOARD_OPENCORES is not set | ||
| 897 | CONFIG_KEYBOARD_PXA27x=y | ||
| 898 | # CONFIG_KEYBOARD_STOWAWAY is not set | ||
| 899 | # CONFIG_KEYBOARD_SUNKBD is not set | ||
| 900 | # CONFIG_KEYBOARD_XTKBD is not set | ||
| 901 | # CONFIG_INPUT_MOUSE is not set | ||
| 902 | # CONFIG_INPUT_JOYSTICK is not set | ||
| 903 | # CONFIG_INPUT_TABLET is not set | ||
| 904 | CONFIG_INPUT_TOUCHSCREEN=y | ||
| 905 | # CONFIG_TOUCHSCREEN_ADS7846 is not set | ||
| 906 | # CONFIG_TOUCHSCREEN_AD7877 is not set | ||
| 907 | # CONFIG_TOUCHSCREEN_AD7879_I2C is not set | ||
| 908 | # CONFIG_TOUCHSCREEN_AD7879_SPI is not set | ||
| 909 | # CONFIG_TOUCHSCREEN_AD7879 is not set | ||
| 910 | CONFIG_TOUCHSCREEN_DA9034=y | ||
| 911 | # CONFIG_TOUCHSCREEN_DYNAPRO is not set | ||
| 912 | # CONFIG_TOUCHSCREEN_EETI is not set | ||
| 913 | # CONFIG_TOUCHSCREEN_FUJITSU is not set | ||
| 914 | # CONFIG_TOUCHSCREEN_GUNZE is not set | ||
| 915 | # CONFIG_TOUCHSCREEN_ELO is not set | ||
| 916 | # CONFIG_TOUCHSCREEN_WACOM_W8001 is not set | ||
| 917 | # CONFIG_TOUCHSCREEN_MCS5000 is not set | ||
| 918 | # CONFIG_TOUCHSCREEN_MTOUCH is not set | ||
| 919 | # CONFIG_TOUCHSCREEN_INEXIO is not set | ||
| 920 | # CONFIG_TOUCHSCREEN_MK712 is not set | ||
| 921 | # CONFIG_TOUCHSCREEN_PENMOUNT is not set | ||
| 922 | # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set | ||
| 923 | # CONFIG_TOUCHSCREEN_TOUCHWIN is not set | ||
| 924 | # CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set | ||
| 925 | # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set | ||
| 926 | # CONFIG_TOUCHSCREEN_TSC2007 is not set | ||
| 927 | # CONFIG_TOUCHSCREEN_W90X900 is not set | ||
| 928 | CONFIG_INPUT_MISC=y | ||
| 929 | # CONFIG_INPUT_ATI_REMOTE is not set | ||
| 930 | # CONFIG_INPUT_ATI_REMOTE2 is not set | ||
| 931 | # CONFIG_INPUT_KEYSPAN_REMOTE is not set | ||
| 932 | # CONFIG_INPUT_POWERMATE is not set | ||
| 933 | # CONFIG_INPUT_YEALINK is not set | ||
| 934 | # CONFIG_INPUT_CM109 is not set | ||
| 935 | CONFIG_INPUT_UINPUT=y | ||
| 936 | # CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set | ||
| 937 | |||
| 938 | # | ||
| 939 | # Hardware I/O ports | ||
| 940 | # | ||
| 941 | # CONFIG_SERIO is not set | ||
| 942 | # CONFIG_GAMEPORT is not set | ||
| 943 | |||
| 944 | # | ||
| 945 | # Character devices | ||
| 946 | # | ||
| 947 | CONFIG_VT=y | ||
| 948 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
| 949 | CONFIG_VT_CONSOLE=y | ||
| 950 | CONFIG_HW_CONSOLE=y | ||
| 951 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
| 952 | CONFIG_DEVKMEM=y | ||
| 953 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
| 954 | |||
| 955 | # | ||
| 956 | # Serial drivers | ||
| 957 | # | ||
| 958 | # CONFIG_SERIAL_8250 is not set | ||
| 959 | |||
| 960 | # | ||
| 961 | # Non-8250 serial port support | ||
| 962 | # | ||
| 963 | # CONFIG_SERIAL_MAX3100 is not set | ||
| 964 | CONFIG_SERIAL_PXA=y | ||
| 965 | CONFIG_SERIAL_PXA_CONSOLE=y | ||
| 966 | CONFIG_SERIAL_CORE=y | ||
| 967 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
| 968 | CONFIG_UNIX98_PTYS=y | ||
| 969 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
| 970 | CONFIG_LEGACY_PTYS=y | ||
| 971 | CONFIG_LEGACY_PTY_COUNT=8 | ||
| 972 | # CONFIG_IPMI_HANDLER is not set | ||
| 973 | # CONFIG_HW_RANDOM is not set | ||
| 974 | # CONFIG_R3964 is not set | ||
| 975 | # CONFIG_RAW_DRIVER is not set | ||
| 976 | # CONFIG_TCG_TPM is not set | ||
| 977 | CONFIG_I2C=y | ||
| 978 | CONFIG_I2C_BOARDINFO=y | ||
| 979 | CONFIG_I2C_COMPAT=y | ||
| 980 | CONFIG_I2C_CHARDEV=y | ||
| 981 | CONFIG_I2C_HELPER_AUTO=y | ||
| 982 | |||
| 983 | # | ||
| 984 | # I2C Hardware Bus support | ||
| 985 | # | ||
| 986 | |||
| 987 | # | ||
| 988 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
| 989 | # | ||
| 990 | # CONFIG_I2C_DESIGNWARE is not set | ||
| 991 | # CONFIG_I2C_GPIO is not set | ||
| 992 | # CONFIG_I2C_OCORES is not set | ||
| 993 | CONFIG_I2C_PXA=y | ||
| 994 | # CONFIG_I2C_PXA_SLAVE is not set | ||
| 995 | # CONFIG_I2C_SIMTEC is not set | ||
| 996 | |||
| 997 | # | ||
| 998 | # External I2C/SMBus adapter drivers | ||
| 999 | # | ||
| 1000 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
| 1001 | # CONFIG_I2C_TAOS_EVM is not set | ||
| 1002 | # CONFIG_I2C_TINY_USB is not set | ||
| 1003 | |||
| 1004 | # | ||
| 1005 | # Other I2C/SMBus bus drivers | ||
| 1006 | # | ||
| 1007 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
| 1008 | # CONFIG_I2C_STUB is not set | ||
| 1009 | |||
| 1010 | # | ||
| 1011 | # Miscellaneous I2C Chip support | ||
| 1012 | # | ||
| 1013 | # CONFIG_SENSORS_TSL2550 is not set | ||
| 1014 | # CONFIG_I2C_DEBUG_CORE is not set | ||
| 1015 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
| 1016 | # CONFIG_I2C_DEBUG_BUS is not set | ||
| 1017 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
| 1018 | CONFIG_SPI=y | ||
| 1019 | # CONFIG_SPI_DEBUG is not set | ||
| 1020 | CONFIG_SPI_MASTER=y | ||
| 1021 | |||
| 1022 | # | ||
| 1023 | # SPI Master Controller Drivers | ||
| 1024 | # | ||
| 1025 | # CONFIG_SPI_BITBANG is not set | ||
| 1026 | # CONFIG_SPI_GPIO is not set | ||
| 1027 | CONFIG_SPI_PXA2XX=y | ||
| 1028 | # CONFIG_SPI_XILINX is not set | ||
| 1029 | # CONFIG_SPI_DESIGNWARE is not set | ||
| 1030 | |||
| 1031 | # | ||
| 1032 | # SPI Protocol Masters | ||
| 1033 | # | ||
| 1034 | # CONFIG_SPI_SPIDEV is not set | ||
| 1035 | # CONFIG_SPI_TLE62X0 is not set | ||
| 1036 | |||
| 1037 | # | ||
| 1038 | # PPS support | ||
| 1039 | # | ||
| 1040 | # CONFIG_PPS is not set | ||
| 1041 | CONFIG_ARCH_REQUIRE_GPIOLIB=y | ||
| 1042 | CONFIG_GPIOLIB=y | ||
| 1043 | # CONFIG_DEBUG_GPIO is not set | ||
| 1044 | CONFIG_GPIO_SYSFS=y | ||
| 1045 | |||
| 1046 | # | ||
| 1047 | # Memory mapped GPIO expanders: | ||
| 1048 | # | ||
| 1049 | |||
| 1050 | # | ||
| 1051 | # I2C GPIO expanders: | ||
| 1052 | # | ||
| 1053 | # CONFIG_GPIO_MAX732X is not set | ||
| 1054 | # CONFIG_GPIO_PCA953X is not set | ||
| 1055 | # CONFIG_GPIO_PCF857X is not set | ||
| 1056 | # CONFIG_GPIO_ADP5588 is not set | ||
| 1057 | |||
| 1058 | # | ||
| 1059 | # PCI GPIO expanders: | ||
| 1060 | # | ||
| 1061 | |||
| 1062 | # | ||
| 1063 | # SPI GPIO expanders: | ||
| 1064 | # | ||
| 1065 | # CONFIG_GPIO_MAX7301 is not set | ||
| 1066 | # CONFIG_GPIO_MCP23S08 is not set | ||
| 1067 | # CONFIG_GPIO_MC33880 is not set | ||
| 1068 | |||
| 1069 | # | ||
| 1070 | # AC97 GPIO expanders: | ||
| 1071 | # | ||
| 1072 | # CONFIG_W1 is not set | ||
| 1073 | CONFIG_POWER_SUPPLY=y | ||
| 1074 | # CONFIG_POWER_SUPPLY_DEBUG is not set | ||
| 1075 | # CONFIG_PDA_POWER is not set | ||
| 1076 | # CONFIG_APM_POWER is not set | ||
| 1077 | # CONFIG_BATTERY_DS2760 is not set | ||
| 1078 | # CONFIG_BATTERY_DS2782 is not set | ||
| 1079 | # CONFIG_BATTERY_BQ27x00 is not set | ||
| 1080 | # CONFIG_BATTERY_DA9030 is not set | ||
| 1081 | # CONFIG_BATTERY_MAX17040 is not set | ||
| 1082 | # CONFIG_HWMON is not set | ||
| 1083 | # CONFIG_THERMAL is not set | ||
| 1084 | # CONFIG_WATCHDOG is not set | ||
| 1085 | CONFIG_SSB_POSSIBLE=y | ||
| 1086 | |||
| 1087 | # | ||
| 1088 | # Sonics Silicon Backplane | ||
| 1089 | # | ||
| 1090 | # CONFIG_SSB is not set | ||
| 1091 | |||
| 1092 | # | ||
| 1093 | # Multifunction device drivers | ||
| 1094 | # | ||
| 1095 | # CONFIG_MFD_CORE is not set | ||
| 1096 | # CONFIG_MFD_SM501 is not set | ||
| 1097 | # CONFIG_MFD_ASIC3 is not set | ||
| 1098 | # CONFIG_HTC_EGPIO is not set | ||
| 1099 | # CONFIG_HTC_PASIC3 is not set | ||
| 1100 | # CONFIG_TPS65010 is not set | ||
| 1101 | # CONFIG_TWL4030_CORE is not set | ||
| 1102 | # CONFIG_MFD_TMIO is not set | ||
| 1103 | # CONFIG_MFD_T7L66XB is not set | ||
| 1104 | # CONFIG_MFD_TC6387XB is not set | ||
| 1105 | # CONFIG_MFD_TC6393XB is not set | ||
| 1106 | CONFIG_PMIC_DA903X=y | ||
| 1107 | # CONFIG_PMIC_ADP5520 is not set | ||
| 1108 | # CONFIG_MFD_WM8400 is not set | ||
| 1109 | # CONFIG_MFD_WM831X is not set | ||
| 1110 | # CONFIG_MFD_WM8350_I2C is not set | ||
| 1111 | # CONFIG_MFD_PCF50633 is not set | ||
| 1112 | # CONFIG_MFD_MC13783 is not set | ||
| 1113 | # CONFIG_AB3100_CORE is not set | ||
| 1114 | # CONFIG_EZX_PCAP is not set | ||
| 1115 | # CONFIG_MFD_88PM8607 is not set | ||
| 1116 | # CONFIG_AB4500_CORE is not set | ||
| 1117 | CONFIG_REGULATOR=y | ||
| 1118 | CONFIG_REGULATOR_DEBUG=y | ||
| 1119 | # CONFIG_REGULATOR_FIXED_VOLTAGE is not set | ||
| 1120 | CONFIG_REGULATOR_VIRTUAL_CONSUMER=y | ||
| 1121 | CONFIG_REGULATOR_USERSPACE_CONSUMER=y | ||
| 1122 | # CONFIG_REGULATOR_BQ24022 is not set | ||
| 1123 | # CONFIG_REGULATOR_MAX1586 is not set | ||
| 1124 | # CONFIG_REGULATOR_MAX8660 is not set | ||
| 1125 | CONFIG_REGULATOR_DA903X=y | ||
| 1126 | # CONFIG_REGULATOR_LP3971 is not set | ||
| 1127 | # CONFIG_REGULATOR_TPS65023 is not set | ||
| 1128 | # CONFIG_REGULATOR_TPS6507X is not set | ||
| 1129 | CONFIG_MEDIA_SUPPORT=y | ||
| 1130 | |||
| 1131 | # | ||
| 1132 | # Multimedia core support | ||
| 1133 | # | ||
| 1134 | CONFIG_VIDEO_DEV=y | ||
| 1135 | CONFIG_VIDEO_V4L2_COMMON=y | ||
| 1136 | CONFIG_VIDEO_ALLOW_V4L1=y | ||
| 1137 | CONFIG_VIDEO_V4L1_COMPAT=y | ||
| 1138 | # CONFIG_DVB_CORE is not set | ||
| 1139 | CONFIG_VIDEO_MEDIA=y | ||
| 1140 | |||
| 1141 | # | ||
| 1142 | # Multimedia drivers | ||
| 1143 | # | ||
| 1144 | CONFIG_IR_CORE=y | ||
| 1145 | CONFIG_VIDEO_IR=y | ||
| 1146 | # CONFIG_MEDIA_ATTACH is not set | ||
| 1147 | CONFIG_MEDIA_TUNER=y | ||
| 1148 | CONFIG_MEDIA_TUNER_CUSTOMISE=y | ||
| 1149 | # CONFIG_MEDIA_TUNER_SIMPLE is not set | ||
| 1150 | # CONFIG_MEDIA_TUNER_TDA8290 is not set | ||
| 1151 | # CONFIG_MEDIA_TUNER_TDA827X is not set | ||
| 1152 | # CONFIG_MEDIA_TUNER_TDA18271 is not set | ||
| 1153 | # CONFIG_MEDIA_TUNER_TDA9887 is not set | ||
| 1154 | # CONFIG_MEDIA_TUNER_TEA5761 is not set | ||
| 1155 | # CONFIG_MEDIA_TUNER_TEA5767 is not set | ||
| 1156 | # CONFIG_MEDIA_TUNER_MT20XX is not set | ||
| 1157 | # CONFIG_MEDIA_TUNER_MT2060 is not set | ||
| 1158 | # CONFIG_MEDIA_TUNER_MT2266 is not set | ||
| 1159 | # CONFIG_MEDIA_TUNER_MT2131 is not set | ||
| 1160 | # CONFIG_MEDIA_TUNER_QT1010 is not set | ||
| 1161 | # CONFIG_MEDIA_TUNER_XC2028 is not set | ||
| 1162 | # CONFIG_MEDIA_TUNER_XC5000 is not set | ||
| 1163 | # CONFIG_MEDIA_TUNER_MXL5005S is not set | ||
| 1164 | # CONFIG_MEDIA_TUNER_MXL5007T is not set | ||
| 1165 | # CONFIG_MEDIA_TUNER_MC44S803 is not set | ||
| 1166 | CONFIG_MEDIA_TUNER_MAX2165=m | ||
| 1167 | CONFIG_VIDEO_V4L2=y | ||
| 1168 | CONFIG_VIDEO_V4L1=y | ||
| 1169 | CONFIG_VIDEOBUF_GEN=y | ||
| 1170 | CONFIG_VIDEOBUF_DMA_SG=y | ||
| 1171 | CONFIG_VIDEO_CAPTURE_DRIVERS=y | ||
| 1172 | # CONFIG_VIDEO_ADV_DEBUG is not set | ||
| 1173 | # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set | ||
| 1174 | # CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set | ||
| 1175 | CONFIG_VIDEO_IR_I2C=y | ||
| 1176 | |||
| 1177 | # | ||
| 1178 | # Encoders/decoders and other helper chips | ||
| 1179 | # | ||
| 1180 | |||
| 1181 | # | ||
| 1182 | # Audio decoders | ||
| 1183 | # | ||
| 1184 | # CONFIG_VIDEO_TVAUDIO is not set | ||
| 1185 | # CONFIG_VIDEO_TDA7432 is not set | ||
| 1186 | # CONFIG_VIDEO_TDA9840 is not set | ||
| 1187 | # CONFIG_VIDEO_TDA9875 is not set | ||
| 1188 | # CONFIG_VIDEO_TEA6415C is not set | ||
| 1189 | # CONFIG_VIDEO_TEA6420 is not set | ||
| 1190 | # CONFIG_VIDEO_MSP3400 is not set | ||
| 1191 | # CONFIG_VIDEO_CS5345 is not set | ||
| 1192 | # CONFIG_VIDEO_CS53L32A is not set | ||
| 1193 | # CONFIG_VIDEO_M52790 is not set | ||
| 1194 | # CONFIG_VIDEO_TLV320AIC23B is not set | ||
| 1195 | # CONFIG_VIDEO_WM8775 is not set | ||
| 1196 | # CONFIG_VIDEO_WM8739 is not set | ||
| 1197 | # CONFIG_VIDEO_VP27SMPX is not set | ||
| 1198 | |||
| 1199 | # | ||
| 1200 | # RDS decoders | ||
| 1201 | # | ||
| 1202 | # CONFIG_VIDEO_SAA6588 is not set | ||
| 1203 | |||
| 1204 | # | ||
| 1205 | # Video decoders | ||
| 1206 | # | ||
| 1207 | # CONFIG_VIDEO_ADV7180 is not set | ||
| 1208 | # CONFIG_VIDEO_BT819 is not set | ||
| 1209 | # CONFIG_VIDEO_BT856 is not set | ||
| 1210 | # CONFIG_VIDEO_BT866 is not set | ||
| 1211 | # CONFIG_VIDEO_KS0127 is not set | ||
| 1212 | # CONFIG_VIDEO_OV7670 is not set | ||
| 1213 | # CONFIG_VIDEO_MT9V011 is not set | ||
| 1214 | # CONFIG_VIDEO_TCM825X is not set | ||
| 1215 | # CONFIG_VIDEO_SAA7110 is not set | ||
| 1216 | # CONFIG_VIDEO_SAA711X is not set | ||
| 1217 | # CONFIG_VIDEO_SAA717X is not set | ||
| 1218 | # CONFIG_VIDEO_SAA7191 is not set | ||
| 1219 | # CONFIG_VIDEO_TVP514X is not set | ||
| 1220 | # CONFIG_VIDEO_TVP5150 is not set | ||
| 1221 | # CONFIG_VIDEO_VPX3220 is not set | ||
| 1222 | |||
| 1223 | # | ||
| 1224 | # Video and audio decoders | ||
| 1225 | # | ||
| 1226 | # CONFIG_VIDEO_CX25840 is not set | ||
| 1227 | |||
| 1228 | # | ||
| 1229 | # MPEG video encoders | ||
| 1230 | # | ||
| 1231 | # CONFIG_VIDEO_CX2341X is not set | ||
| 1232 | |||
| 1233 | # | ||
| 1234 | # Video encoders | ||
| 1235 | # | ||
| 1236 | # CONFIG_VIDEO_SAA7127 is not set | ||
| 1237 | # CONFIG_VIDEO_SAA7185 is not set | ||
| 1238 | # CONFIG_VIDEO_ADV7170 is not set | ||
| 1239 | # CONFIG_VIDEO_ADV7175 is not set | ||
| 1240 | # CONFIG_VIDEO_THS7303 is not set | ||
| 1241 | # CONFIG_VIDEO_ADV7343 is not set | ||
| 1242 | |||
| 1243 | # | ||
| 1244 | # Video improvement chips | ||
| 1245 | # | ||
| 1246 | # CONFIG_VIDEO_UPD64031A is not set | ||
| 1247 | # CONFIG_VIDEO_UPD64083 is not set | ||
| 1248 | # CONFIG_VIDEO_VIVI is not set | ||
| 1249 | # CONFIG_VIDEO_CPIA is not set | ||
| 1250 | # CONFIG_VIDEO_CPIA2 is not set | ||
| 1251 | # CONFIG_VIDEO_SAA5246A is not set | ||
| 1252 | # CONFIG_VIDEO_SAA5249 is not set | ||
| 1253 | CONFIG_SOC_CAMERA=y | ||
| 1254 | # CONFIG_SOC_CAMERA_MT9M001 is not set | ||
| 1255 | CONFIG_SOC_CAMERA_MT9M111=y | ||
| 1256 | # CONFIG_SOC_CAMERA_MT9T031 is not set | ||
| 1257 | # CONFIG_SOC_CAMERA_MT9T112 is not set | ||
| 1258 | # CONFIG_SOC_CAMERA_MT9V022 is not set | ||
| 1259 | # CONFIG_SOC_CAMERA_RJ54N1 is not set | ||
| 1260 | # CONFIG_SOC_CAMERA_TW9910 is not set | ||
| 1261 | # CONFIG_SOC_CAMERA_PLATFORM is not set | ||
| 1262 | # CONFIG_SOC_CAMERA_OV772X is not set | ||
| 1263 | # CONFIG_SOC_CAMERA_OV9640 is not set | ||
| 1264 | CONFIG_VIDEO_PXA27x=y | ||
| 1265 | # CONFIG_VIDEO_SH_MOBILE_CEU is not set | ||
| 1266 | # CONFIG_V4L_USB_DRIVERS is not set | ||
| 1267 | CONFIG_RADIO_ADAPTERS=y | ||
| 1268 | # CONFIG_I2C_SI4713 is not set | ||
| 1269 | # CONFIG_RADIO_SI4713 is not set | ||
| 1270 | # CONFIG_USB_DSBR is not set | ||
| 1271 | # CONFIG_RADIO_SI470X is not set | ||
| 1272 | # CONFIG_USB_MR800 is not set | ||
| 1273 | CONFIG_RADIO_TEA5764=y | ||
| 1274 | CONFIG_RADIO_TEA5764_XTAL=y | ||
| 1275 | # CONFIG_RADIO_TEF6862 is not set | ||
| 1276 | # CONFIG_DAB is not set | ||
| 1277 | |||
| 1278 | # | ||
| 1279 | # Graphics support | ||
| 1280 | # | ||
| 1281 | # CONFIG_VGASTATE is not set | ||
| 1282 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
| 1283 | CONFIG_FB=y | ||
| 1284 | # CONFIG_FIRMWARE_EDID is not set | ||
| 1285 | # CONFIG_FB_DDC is not set | ||
| 1286 | # CONFIG_FB_BOOT_VESA_SUPPORT is not set | ||
| 1287 | CONFIG_FB_CFB_FILLRECT=y | ||
| 1288 | CONFIG_FB_CFB_COPYAREA=y | ||
| 1289 | CONFIG_FB_CFB_IMAGEBLIT=y | ||
| 1290 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
| 1291 | # CONFIG_FB_SYS_FILLRECT is not set | ||
| 1292 | # CONFIG_FB_SYS_COPYAREA is not set | ||
| 1293 | # CONFIG_FB_SYS_IMAGEBLIT is not set | ||
| 1294 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
| 1295 | # CONFIG_FB_SYS_FOPS is not set | ||
| 1296 | # CONFIG_FB_SVGALIB is not set | ||
| 1297 | # CONFIG_FB_MACMODES is not set | ||
| 1298 | # CONFIG_FB_BACKLIGHT is not set | ||
| 1299 | # CONFIG_FB_MODE_HELPERS is not set | ||
| 1300 | # CONFIG_FB_TILEBLITTING is not set | ||
| 1301 | |||
| 1302 | # | ||
| 1303 | # Frame buffer hardware drivers | ||
| 1304 | # | ||
| 1305 | # CONFIG_FB_UVESA is not set | ||
| 1306 | # CONFIG_FB_S1D13XXX is not set | ||
| 1307 | CONFIG_FB_PXA=y | ||
| 1308 | CONFIG_FB_PXA_OVERLAY=y | ||
| 1309 | # CONFIG_FB_PXA_SMARTPANEL is not set | ||
| 1310 | CONFIG_FB_PXA_PARAMETERS=y | ||
| 1311 | # CONFIG_FB_MBX is not set | ||
| 1312 | # CONFIG_FB_W100 is not set | ||
| 1313 | # CONFIG_FB_VIRTUAL is not set | ||
| 1314 | # CONFIG_FB_METRONOME is not set | ||
| 1315 | # CONFIG_FB_MB862XX is not set | ||
| 1316 | # CONFIG_FB_BROADSHEET is not set | ||
| 1317 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | ||
| 1318 | # CONFIG_LCD_CLASS_DEVICE is not set | ||
| 1319 | CONFIG_BACKLIGHT_CLASS_DEVICE=y | ||
| 1320 | CONFIG_BACKLIGHT_GENERIC=y | ||
| 1321 | # CONFIG_BACKLIGHT_DA903X is not set | ||
| 1322 | |||
| 1323 | # | ||
| 1324 | # Display device support | ||
| 1325 | # | ||
| 1326 | # CONFIG_DISPLAY_SUPPORT is not set | ||
| 1327 | |||
| 1328 | # | ||
| 1329 | # Console display driver support | ||
| 1330 | # | ||
| 1331 | # CONFIG_VGA_CONSOLE is not set | ||
| 1332 | CONFIG_DUMMY_CONSOLE=y | ||
| 1333 | CONFIG_FRAMEBUFFER_CONSOLE=y | ||
| 1334 | # CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set | ||
| 1335 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set | ||
| 1336 | CONFIG_FONTS=y | ||
| 1337 | # CONFIG_FONT_8x8 is not set | ||
| 1338 | # CONFIG_FONT_8x16 is not set | ||
| 1339 | # CONFIG_FONT_6x11 is not set | ||
| 1340 | # CONFIG_FONT_7x14 is not set | ||
| 1341 | # CONFIG_FONT_PEARL_8x8 is not set | ||
| 1342 | # CONFIG_FONT_ACORN_8x8 is not set | ||
| 1343 | CONFIG_FONT_MINI_4x6=y | ||
| 1344 | # CONFIG_FONT_SUN8x16 is not set | ||
| 1345 | # CONFIG_FONT_SUN12x22 is not set | ||
| 1346 | # CONFIG_FONT_10x18 is not set | ||
| 1347 | # CONFIG_LOGO is not set | ||
| 1348 | CONFIG_SOUND=y | ||
| 1349 | CONFIG_SOUND_OSS_CORE=y | ||
| 1350 | CONFIG_SOUND_OSS_CORE_PRECLAIM=y | ||
| 1351 | CONFIG_SND=y | ||
| 1352 | CONFIG_SND_TIMER=y | ||
| 1353 | CONFIG_SND_PCM=y | ||
| 1354 | CONFIG_SND_JACK=y | ||
| 1355 | # CONFIG_SND_SEQUENCER is not set | ||
| 1356 | CONFIG_SND_OSSEMUL=y | ||
| 1357 | CONFIG_SND_MIXER_OSS=y | ||
| 1358 | CONFIG_SND_PCM_OSS=y | ||
| 1359 | CONFIG_SND_PCM_OSS_PLUGINS=y | ||
| 1360 | # CONFIG_SND_HRTIMER is not set | ||
| 1361 | # CONFIG_SND_DYNAMIC_MINORS is not set | ||
| 1362 | CONFIG_SND_SUPPORT_OLD_API=y | ||
| 1363 | CONFIG_SND_VERBOSE_PROCFS=y | ||
| 1364 | # CONFIG_SND_VERBOSE_PRINTK is not set | ||
| 1365 | # CONFIG_SND_DEBUG is not set | ||
| 1366 | # CONFIG_SND_RAWMIDI_SEQ is not set | ||
| 1367 | # CONFIG_SND_OPL3_LIB_SEQ is not set | ||
| 1368 | # CONFIG_SND_OPL4_LIB_SEQ is not set | ||
| 1369 | # CONFIG_SND_SBAWE_SEQ is not set | ||
| 1370 | # CONFIG_SND_EMU10K1_SEQ is not set | ||
| 1371 | # CONFIG_SND_DRIVERS is not set | ||
| 1372 | # CONFIG_SND_ARM is not set | ||
| 1373 | CONFIG_SND_PXA2XX_LIB=y | ||
| 1374 | # CONFIG_SND_SPI is not set | ||
| 1375 | # CONFIG_SND_USB is not set | ||
| 1376 | CONFIG_SND_SOC=y | ||
| 1377 | CONFIG_SND_PXA2XX_SOC=y | ||
| 1378 | # CONFIG_SND_PXA2XX_SOC_IMOTE2 is not set | ||
| 1379 | CONFIG_SND_SOC_I2C_AND_SPI=y | ||
| 1380 | # CONFIG_SND_SOC_ALL_CODECS is not set | ||
| 1381 | # CONFIG_SOUND_PRIME is not set | ||
| 1382 | CONFIG_HID_SUPPORT=y | ||
| 1383 | CONFIG_HID=y | ||
| 1384 | # CONFIG_HIDRAW is not set | ||
| 1385 | |||
| 1386 | # | ||
| 1387 | # USB Input Devices | ||
| 1388 | # | ||
| 1389 | # CONFIG_USB_HID is not set | ||
| 1390 | # CONFIG_HID_PID is not set | ||
| 1391 | |||
| 1392 | # | ||
| 1393 | # USB HID Boot Protocol drivers | ||
| 1394 | # | ||
| 1395 | # CONFIG_USB_KBD is not set | ||
| 1396 | # CONFIG_USB_MOUSE is not set | ||
| 1397 | |||
| 1398 | # | ||
| 1399 | # Special HID drivers | ||
| 1400 | # | ||
| 1401 | CONFIG_HID_APPLE=m | ||
| 1402 | # CONFIG_HID_WACOM is not set | ||
| 1403 | CONFIG_USB_SUPPORT=y | ||
| 1404 | CONFIG_USB_ARCH_HAS_HCD=y | ||
| 1405 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
| 1406 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
| 1407 | CONFIG_USB=y | ||
| 1408 | # CONFIG_USB_DEBUG is not set | ||
| 1409 | # CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set | ||
| 1410 | |||
| 1411 | # | ||
| 1412 | # Miscellaneous USB options | ||
| 1413 | # | ||
| 1414 | # CONFIG_USB_DEVICEFS is not set | ||
| 1415 | # CONFIG_USB_DEVICE_CLASS is not set | ||
| 1416 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
| 1417 | # CONFIG_USB_SUSPEND is not set | ||
| 1418 | # CONFIG_USB_OTG is not set | ||
| 1419 | # CONFIG_USB_OTG_WHITELIST is not set | ||
| 1420 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
| 1421 | # CONFIG_USB_MON is not set | ||
| 1422 | # CONFIG_USB_WUSB is not set | ||
| 1423 | # CONFIG_USB_WUSB_CBAF is not set | ||
| 1424 | |||
| 1425 | # | ||
| 1426 | # USB Host Controller Drivers | ||
| 1427 | # | ||
| 1428 | # CONFIG_USB_C67X00_HCD is not set | ||
| 1429 | # CONFIG_USB_OXU210HP_HCD is not set | ||
| 1430 | # CONFIG_USB_ISP116X_HCD is not set | ||
| 1431 | # CONFIG_USB_ISP1760_HCD is not set | ||
| 1432 | # CONFIG_USB_ISP1362_HCD is not set | ||
| 1433 | CONFIG_USB_OHCI_HCD=y | ||
| 1434 | # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set | ||
| 1435 | # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set | ||
| 1436 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y | ||
| 1437 | # CONFIG_USB_SL811_HCD is not set | ||
| 1438 | # CONFIG_USB_R8A66597_HCD is not set | ||
| 1439 | # CONFIG_USB_HWA_HCD is not set | ||
| 1440 | # CONFIG_USB_MUSB_HDRC is not set | ||
| 1441 | # CONFIG_USB_GADGET_MUSB_HDRC is not set | ||
| 1442 | |||
| 1443 | # | ||
| 1444 | # USB Device Class drivers | ||
| 1445 | # | ||
| 1446 | # CONFIG_USB_ACM is not set | ||
| 1447 | # CONFIG_USB_PRINTER is not set | ||
| 1448 | # CONFIG_USB_WDM is not set | ||
| 1449 | # CONFIG_USB_TMC is not set | ||
| 1450 | |||
| 1451 | # | ||
| 1452 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may | ||
| 1453 | # | ||
| 1454 | |||
| 1455 | # | ||
| 1456 | # also be needed; see USB_STORAGE Help for more info | ||
| 1457 | # | ||
| 1458 | # CONFIG_USB_LIBUSUAL is not set | ||
| 1459 | |||
| 1460 | # | ||
| 1461 | # USB Imaging devices | ||
| 1462 | # | ||
| 1463 | # CONFIG_USB_MDC800 is not set | ||
| 1464 | |||
| 1465 | # | ||
| 1466 | # USB port drivers | ||
| 1467 | # | ||
| 1468 | # CONFIG_USB_SERIAL is not set | ||
| 1469 | |||
| 1470 | # | ||
| 1471 | # USB Miscellaneous drivers | ||
| 1472 | # | ||
| 1473 | # CONFIG_USB_EMI62 is not set | ||
| 1474 | # CONFIG_USB_EMI26 is not set | ||
| 1475 | # CONFIG_USB_ADUTUX is not set | ||
| 1476 | # CONFIG_USB_SEVSEG is not set | ||
| 1477 | # CONFIG_USB_RIO500 is not set | ||
| 1478 | # CONFIG_USB_LEGOTOWER is not set | ||
| 1479 | # CONFIG_USB_LCD is not set | ||
| 1480 | # CONFIG_USB_BERRY_CHARGE is not set | ||
| 1481 | # CONFIG_USB_LED is not set | ||
| 1482 | # CONFIG_USB_CYPRESS_CY7C63 is not set | ||
| 1483 | # CONFIG_USB_CYTHERM is not set | ||
| 1484 | # CONFIG_USB_IDMOUSE is not set | ||
| 1485 | # CONFIG_USB_FTDI_ELAN is not set | ||
| 1486 | # CONFIG_USB_APPLEDISPLAY is not set | ||
| 1487 | # CONFIG_USB_LD is not set | ||
| 1488 | # CONFIG_USB_TRANCEVIBRATOR is not set | ||
| 1489 | # CONFIG_USB_IOWARRIOR is not set | ||
| 1490 | # CONFIG_USB_TEST is not set | ||
| 1491 | # CONFIG_USB_ISIGHTFW is not set | ||
| 1492 | # CONFIG_USB_VST is not set | ||
| 1493 | CONFIG_USB_GADGET=y | ||
| 1494 | # CONFIG_USB_GADGET_DEBUG is not set | ||
| 1495 | # CONFIG_USB_GADGET_DEBUG_FILES is not set | ||
| 1496 | # CONFIG_USB_GADGET_DEBUG_FS is not set | ||
| 1497 | CONFIG_USB_GADGET_VBUS_DRAW=2 | ||
| 1498 | CONFIG_USB_GADGET_SELECTED=y | ||
| 1499 | # CONFIG_USB_GADGET_AT91 is not set | ||
| 1500 | # CONFIG_USB_GADGET_ATMEL_USBA is not set | ||
| 1501 | # CONFIG_USB_GADGET_FSL_USB2 is not set | ||
| 1502 | # CONFIG_USB_GADGET_LH7A40X is not set | ||
| 1503 | # CONFIG_USB_GADGET_OMAP is not set | ||
| 1504 | # CONFIG_USB_GADGET_PXA25X is not set | ||
| 1505 | # CONFIG_USB_GADGET_R8A66597 is not set | ||
| 1506 | CONFIG_USB_GADGET_PXA27X=y | ||
| 1507 | CONFIG_USB_PXA27X=y | ||
| 1508 | # CONFIG_USB_GADGET_S3C_HSOTG is not set | ||
| 1509 | # CONFIG_USB_GADGET_IMX is not set | ||
| 1510 | # CONFIG_USB_GADGET_S3C2410 is not set | ||
| 1511 | # CONFIG_USB_GADGET_M66592 is not set | ||
| 1512 | # CONFIG_USB_GADGET_AMD5536UDC is not set | ||
| 1513 | # CONFIG_USB_GADGET_FSL_QE is not set | ||
| 1514 | # CONFIG_USB_GADGET_CI13XXX is not set | ||
| 1515 | # CONFIG_USB_GADGET_NET2280 is not set | ||
| 1516 | # CONFIG_USB_GADGET_GOKU is not set | ||
| 1517 | # CONFIG_USB_GADGET_LANGWELL is not set | ||
| 1518 | # CONFIG_USB_GADGET_DUMMY_HCD is not set | ||
| 1519 | # CONFIG_USB_GADGET_DUALSPEED is not set | ||
| 1520 | # CONFIG_USB_ZERO is not set | ||
| 1521 | # CONFIG_USB_AUDIO is not set | ||
| 1522 | CONFIG_USB_ETH=y | ||
| 1523 | # CONFIG_USB_ETH_RNDIS is not set | ||
| 1524 | # CONFIG_USB_ETH_EEM is not set | ||
| 1525 | # CONFIG_USB_GADGETFS is not set | ||
| 1526 | # CONFIG_USB_FILE_STORAGE is not set | ||
| 1527 | # CONFIG_USB_MASS_STORAGE is not set | ||
| 1528 | # CONFIG_USB_G_SERIAL is not set | ||
| 1529 | # CONFIG_USB_MIDI_GADGET is not set | ||
| 1530 | # CONFIG_USB_G_PRINTER is not set | ||
| 1531 | # CONFIG_USB_CDC_COMPOSITE is not set | ||
| 1532 | # CONFIG_USB_G_MULTI is not set | ||
| 1533 | |||
| 1534 | # | ||
| 1535 | # OTG and related infrastructure | ||
| 1536 | # | ||
| 1537 | CONFIG_USB_OTG_UTILS=y | ||
| 1538 | # CONFIG_USB_GPIO_VBUS is not set | ||
| 1539 | # CONFIG_USB_ULPI is not set | ||
| 1540 | # CONFIG_NOP_USB_XCEIV is not set | ||
| 1541 | CONFIG_MMC=y | ||
| 1542 | # CONFIG_MMC_DEBUG is not set | ||
| 1543 | CONFIG_MMC_UNSAFE_RESUME=y | ||
| 1544 | |||
| 1545 | # | ||
| 1546 | # MMC/SD/SDIO Card Drivers | ||
| 1547 | # | ||
| 1548 | CONFIG_MMC_BLOCK=y | ||
| 1549 | CONFIG_MMC_BLOCK_BOUNCE=y | ||
| 1550 | CONFIG_SDIO_UART=m | ||
| 1551 | # CONFIG_MMC_TEST is not set | ||
| 1552 | |||
| 1553 | # | ||
| 1554 | # MMC/SD/SDIO Host Controller Drivers | ||
| 1555 | # | ||
| 1556 | CONFIG_MMC_PXA=y | ||
| 1557 | # CONFIG_MMC_SDHCI is not set | ||
| 1558 | # CONFIG_MMC_AT91 is not set | ||
| 1559 | # CONFIG_MMC_ATMELMCI is not set | ||
| 1560 | CONFIG_MMC_SPI=y | ||
| 1561 | # CONFIG_MEMSTICK is not set | ||
| 1562 | CONFIG_NEW_LEDS=y | ||
| 1563 | CONFIG_LEDS_CLASS=y | ||
| 1564 | |||
| 1565 | # | ||
| 1566 | # LED drivers | ||
| 1567 | # | ||
| 1568 | # CONFIG_LEDS_PCA9532 is not set | ||
| 1569 | # CONFIG_LEDS_GPIO is not set | ||
| 1570 | CONFIG_LEDS_LP3944=y | ||
| 1571 | # CONFIG_LEDS_PCA955X is not set | ||
| 1572 | # CONFIG_LEDS_DA903X is not set | ||
| 1573 | # CONFIG_LEDS_DAC124S085 is not set | ||
| 1574 | # CONFIG_LEDS_REGULATOR is not set | ||
| 1575 | # CONFIG_LEDS_BD2802 is not set | ||
| 1576 | # CONFIG_LEDS_LT3593 is not set | ||
| 1577 | |||
| 1578 | # | ||
| 1579 | # LED Triggers | ||
| 1580 | # | ||
| 1581 | CONFIG_LEDS_TRIGGERS=y | ||
| 1582 | CONFIG_LEDS_TRIGGER_TIMER=y | ||
| 1583 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y | ||
| 1584 | CONFIG_LEDS_TRIGGER_BACKLIGHT=y | ||
| 1585 | CONFIG_LEDS_TRIGGER_GPIO=y | ||
| 1586 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=y | ||
| 1587 | |||
| 1588 | # | ||
| 1589 | # iptables trigger is under Netfilter config (LED target) | ||
| 1590 | # | ||
| 1591 | # CONFIG_ACCESSIBILITY is not set | ||
| 1592 | CONFIG_RTC_LIB=y | ||
| 1593 | CONFIG_RTC_CLASS=y | ||
| 1594 | CONFIG_RTC_HCTOSYS=y | ||
| 1595 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
| 1596 | # CONFIG_RTC_DEBUG is not set | ||
| 1597 | |||
| 1598 | # | ||
| 1599 | # RTC interfaces | ||
| 1600 | # | ||
| 1601 | CONFIG_RTC_INTF_SYSFS=y | ||
| 1602 | CONFIG_RTC_INTF_PROC=y | ||
| 1603 | CONFIG_RTC_INTF_DEV=y | ||
| 1604 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
| 1605 | # CONFIG_RTC_DRV_TEST is not set | ||
| 1606 | |||
| 1607 | # | ||
| 1608 | # I2C RTC drivers | ||
| 1609 | # | ||
| 1610 | # CONFIG_RTC_DRV_DS1307 is not set | ||
| 1611 | # CONFIG_RTC_DRV_DS1374 is not set | ||
| 1612 | # CONFIG_RTC_DRV_DS1672 is not set | ||
| 1613 | # CONFIG_RTC_DRV_MAX6900 is not set | ||
| 1614 | # CONFIG_RTC_DRV_RS5C372 is not set | ||
| 1615 | # CONFIG_RTC_DRV_ISL1208 is not set | ||
| 1616 | # CONFIG_RTC_DRV_X1205 is not set | ||
| 1617 | # CONFIG_RTC_DRV_PCF8563 is not set | ||
| 1618 | # CONFIG_RTC_DRV_PCF8583 is not set | ||
| 1619 | # CONFIG_RTC_DRV_M41T80 is not set | ||
| 1620 | # CONFIG_RTC_DRV_BQ32K is not set | ||
| 1621 | # CONFIG_RTC_DRV_S35390A is not set | ||
| 1622 | # CONFIG_RTC_DRV_FM3130 is not set | ||
| 1623 | # CONFIG_RTC_DRV_RX8581 is not set | ||
| 1624 | # CONFIG_RTC_DRV_RX8025 is not set | ||
| 1625 | |||
| 1626 | # | ||
| 1627 | # SPI RTC drivers | ||
| 1628 | # | ||
| 1629 | # CONFIG_RTC_DRV_M41T94 is not set | ||
| 1630 | # CONFIG_RTC_DRV_DS1305 is not set | ||
| 1631 | # CONFIG_RTC_DRV_DS1390 is not set | ||
| 1632 | # CONFIG_RTC_DRV_MAX6902 is not set | ||
| 1633 | # CONFIG_RTC_DRV_R9701 is not set | ||
| 1634 | # CONFIG_RTC_DRV_RS5C348 is not set | ||
| 1635 | # CONFIG_RTC_DRV_DS3234 is not set | ||
| 1636 | # CONFIG_RTC_DRV_PCF2123 is not set | ||
| 1637 | |||
| 1638 | # | ||
| 1639 | # Platform RTC drivers | ||
| 1640 | # | ||
| 1641 | # CONFIG_RTC_DRV_CMOS is not set | ||
| 1642 | # CONFIG_RTC_DRV_DS1286 is not set | ||
| 1643 | # CONFIG_RTC_DRV_DS1511 is not set | ||
| 1644 | # CONFIG_RTC_DRV_DS1553 is not set | ||
| 1645 | # CONFIG_RTC_DRV_DS1742 is not set | ||
| 1646 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
| 1647 | # CONFIG_RTC_DRV_M48T86 is not set | ||
| 1648 | # CONFIG_RTC_DRV_M48T35 is not set | ||
| 1649 | # CONFIG_RTC_DRV_M48T59 is not set | ||
| 1650 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
| 1651 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
| 1652 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
| 1653 | # CONFIG_RTC_DRV_V3020 is not set | ||
| 1654 | |||
| 1655 | # | ||
| 1656 | # on-CPU RTC drivers | ||
| 1657 | # | ||
| 1658 | # CONFIG_RTC_DRV_SA1100 is not set | ||
| 1659 | # CONFIG_RTC_DRV_PXA is not set | ||
| 1660 | # CONFIG_DMADEVICES is not set | ||
| 1661 | # CONFIG_AUXDISPLAY is not set | ||
| 1662 | # CONFIG_UIO is not set | ||
| 1663 | |||
| 1664 | # | ||
| 1665 | # TI VLYNQ | ||
| 1666 | # | ||
| 1667 | # CONFIG_STAGING is not set | ||
| 1668 | |||
| 1669 | # | ||
| 1670 | # File systems | ||
| 1671 | # | ||
| 1672 | CONFIG_EXT2_FS=y | ||
| 1673 | # CONFIG_EXT2_FS_XATTR is not set | ||
| 1674 | # CONFIG_EXT2_FS_XIP is not set | ||
| 1675 | CONFIG_EXT3_FS=m | ||
| 1676 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
| 1677 | CONFIG_EXT3_FS_XATTR=y | ||
| 1678 | # CONFIG_EXT3_FS_POSIX_ACL is not set | ||
| 1679 | # CONFIG_EXT3_FS_SECURITY is not set | ||
| 1680 | # CONFIG_EXT4_FS is not set | ||
| 1681 | CONFIG_JBD=m | ||
| 1682 | # CONFIG_JBD_DEBUG is not set | ||
| 1683 | CONFIG_FS_MBCACHE=m | ||
| 1684 | CONFIG_REISERFS_FS=m | ||
| 1685 | # CONFIG_REISERFS_CHECK is not set | ||
| 1686 | # CONFIG_REISERFS_PROC_INFO is not set | ||
| 1687 | CONFIG_REISERFS_FS_XATTR=y | ||
| 1688 | CONFIG_REISERFS_FS_POSIX_ACL=y | ||
| 1689 | CONFIG_REISERFS_FS_SECURITY=y | ||
| 1690 | # CONFIG_JFS_FS is not set | ||
| 1691 | CONFIG_FS_POSIX_ACL=y | ||
| 1692 | CONFIG_XFS_FS=m | ||
| 1693 | # CONFIG_XFS_QUOTA is not set | ||
| 1694 | # CONFIG_XFS_POSIX_ACL is not set | ||
| 1695 | # CONFIG_XFS_RT is not set | ||
| 1696 | # CONFIG_XFS_DEBUG is not set | ||
| 1697 | # CONFIG_OCFS2_FS is not set | ||
| 1698 | # CONFIG_BTRFS_FS is not set | ||
| 1699 | # CONFIG_NILFS2_FS is not set | ||
| 1700 | CONFIG_FILE_LOCKING=y | ||
| 1701 | CONFIG_FSNOTIFY=y | ||
| 1702 | CONFIG_DNOTIFY=y | ||
| 1703 | CONFIG_INOTIFY=y | ||
| 1704 | CONFIG_INOTIFY_USER=y | ||
| 1705 | # CONFIG_QUOTA is not set | ||
| 1706 | CONFIG_AUTOFS_FS=y | ||
| 1707 | CONFIG_AUTOFS4_FS=y | ||
| 1708 | CONFIG_FUSE_FS=m | ||
| 1709 | CONFIG_CUSE=m | ||
| 1710 | |||
| 1711 | # | ||
| 1712 | # Caches | ||
| 1713 | # | ||
| 1714 | # CONFIG_FSCACHE is not set | ||
| 1715 | |||
| 1716 | # | ||
| 1717 | # CD-ROM/DVD Filesystems | ||
| 1718 | # | ||
| 1719 | CONFIG_ISO9660_FS=m | ||
| 1720 | CONFIG_JOLIET=y | ||
| 1721 | CONFIG_ZISOFS=y | ||
| 1722 | # CONFIG_UDF_FS is not set | ||
| 1723 | |||
| 1724 | # | ||
| 1725 | # DOS/FAT/NT Filesystems | ||
| 1726 | # | ||
| 1727 | CONFIG_FAT_FS=m | ||
| 1728 | CONFIG_MSDOS_FS=m | ||
| 1729 | CONFIG_VFAT_FS=m | ||
| 1730 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
| 1731 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
| 1732 | # CONFIG_NTFS_FS is not set | ||
| 1733 | |||
| 1734 | # | ||
| 1735 | # Pseudo filesystems | ||
| 1736 | # | ||
| 1737 | CONFIG_PROC_FS=y | ||
| 1738 | CONFIG_PROC_SYSCTL=y | ||
| 1739 | CONFIG_PROC_PAGE_MONITOR=y | ||
| 1740 | CONFIG_SYSFS=y | ||
| 1741 | CONFIG_TMPFS=y | ||
| 1742 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
| 1743 | # CONFIG_HUGETLB_PAGE is not set | ||
| 1744 | # CONFIG_CONFIGFS_FS is not set | ||
| 1745 | CONFIG_MISC_FILESYSTEMS=y | ||
| 1746 | # CONFIG_ADFS_FS is not set | ||
| 1747 | # CONFIG_AFFS_FS is not set | ||
| 1748 | # CONFIG_HFS_FS is not set | ||
| 1749 | # CONFIG_HFSPLUS_FS is not set | ||
| 1750 | # CONFIG_BEFS_FS is not set | ||
| 1751 | # CONFIG_BFS_FS is not set | ||
| 1752 | # CONFIG_EFS_FS is not set | ||
| 1753 | CONFIG_JFFS2_FS=m | ||
| 1754 | CONFIG_JFFS2_FS_DEBUG=0 | ||
| 1755 | CONFIG_JFFS2_FS_WRITEBUFFER=y | ||
| 1756 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
| 1757 | # CONFIG_JFFS2_SUMMARY is not set | ||
| 1758 | # CONFIG_JFFS2_FS_XATTR is not set | ||
| 1759 | CONFIG_JFFS2_COMPRESSION_OPTIONS=y | ||
| 1760 | CONFIG_JFFS2_ZLIB=y | ||
| 1761 | CONFIG_JFFS2_LZO=y | ||
| 1762 | CONFIG_JFFS2_RTIME=y | ||
| 1763 | CONFIG_JFFS2_RUBIN=y | ||
| 1764 | # CONFIG_JFFS2_CMODE_NONE is not set | ||
| 1765 | CONFIG_JFFS2_CMODE_PRIORITY=y | ||
| 1766 | # CONFIG_JFFS2_CMODE_SIZE is not set | ||
| 1767 | # CONFIG_JFFS2_CMODE_FAVOURLZO is not set | ||
| 1768 | CONFIG_CRAMFS=m | ||
| 1769 | CONFIG_SQUASHFS=m | ||
| 1770 | # CONFIG_SQUASHFS_EMBEDDED is not set | ||
| 1771 | CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 | ||
| 1772 | # CONFIG_VXFS_FS is not set | ||
| 1773 | # CONFIG_MINIX_FS is not set | ||
| 1774 | # CONFIG_OMFS_FS is not set | ||
| 1775 | # CONFIG_HPFS_FS is not set | ||
| 1776 | # CONFIG_QNX4FS_FS is not set | ||
| 1777 | CONFIG_ROMFS_FS=m | ||
| 1778 | CONFIG_ROMFS_BACKED_BY_BLOCK=y | ||
| 1779 | # CONFIG_ROMFS_BACKED_BY_MTD is not set | ||
| 1780 | # CONFIG_ROMFS_BACKED_BY_BOTH is not set | ||
| 1781 | CONFIG_ROMFS_ON_BLOCK=y | ||
| 1782 | # CONFIG_SYSV_FS is not set | ||
| 1783 | # CONFIG_UFS_FS is not set | ||
| 1784 | CONFIG_NETWORK_FILESYSTEMS=y | ||
| 1785 | CONFIG_NFS_FS=y | ||
| 1786 | CONFIG_NFS_V3=y | ||
| 1787 | CONFIG_NFS_V3_ACL=y | ||
| 1788 | # CONFIG_NFS_V4 is not set | ||
| 1789 | # CONFIG_ROOT_NFS is not set | ||
| 1790 | CONFIG_NFSD=m | ||
| 1791 | CONFIG_NFSD_V2_ACL=y | ||
| 1792 | CONFIG_NFSD_V3=y | ||
| 1793 | CONFIG_NFSD_V3_ACL=y | ||
| 1794 | # CONFIG_NFSD_V4 is not set | ||
| 1795 | CONFIG_LOCKD=y | ||
| 1796 | CONFIG_LOCKD_V4=y | ||
| 1797 | CONFIG_EXPORTFS=m | ||
| 1798 | CONFIG_NFS_ACL_SUPPORT=y | ||
| 1799 | CONFIG_NFS_COMMON=y | ||
| 1800 | CONFIG_SUNRPC=y | ||
| 1801 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
| 1802 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
| 1803 | CONFIG_SMB_FS=m | ||
| 1804 | # CONFIG_SMB_NLS_DEFAULT is not set | ||
| 1805 | CONFIG_CIFS=m | ||
| 1806 | CONFIG_CIFS_STATS=y | ||
| 1807 | # CONFIG_CIFS_STATS2 is not set | ||
| 1808 | CONFIG_CIFS_WEAK_PW_HASH=y | ||
| 1809 | CONFIG_CIFS_XATTR=y | ||
| 1810 | CONFIG_CIFS_POSIX=y | ||
| 1811 | # CONFIG_CIFS_DEBUG2 is not set | ||
| 1812 | # CONFIG_CIFS_EXPERIMENTAL is not set | ||
| 1813 | # CONFIG_NCP_FS is not set | ||
| 1814 | # CONFIG_CODA_FS is not set | ||
| 1815 | # CONFIG_AFS_FS is not set | ||
| 1816 | |||
| 1817 | # | ||
| 1818 | # Partition Types | ||
| 1819 | # | ||
| 1820 | # CONFIG_PARTITION_ADVANCED is not set | ||
| 1821 | CONFIG_MSDOS_PARTITION=y | ||
| 1822 | CONFIG_NLS=y | ||
| 1823 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
| 1824 | CONFIG_NLS_CODEPAGE_437=m | ||
| 1825 | CONFIG_NLS_CODEPAGE_737=m | ||
| 1826 | CONFIG_NLS_CODEPAGE_775=m | ||
| 1827 | CONFIG_NLS_CODEPAGE_850=m | ||
| 1828 | CONFIG_NLS_CODEPAGE_852=m | ||
| 1829 | CONFIG_NLS_CODEPAGE_855=m | ||
| 1830 | CONFIG_NLS_CODEPAGE_857=m | ||
| 1831 | CONFIG_NLS_CODEPAGE_860=m | ||
| 1832 | CONFIG_NLS_CODEPAGE_861=m | ||
| 1833 | CONFIG_NLS_CODEPAGE_862=m | ||
| 1834 | CONFIG_NLS_CODEPAGE_863=m | ||
| 1835 | CONFIG_NLS_CODEPAGE_864=m | ||
| 1836 | CONFIG_NLS_CODEPAGE_865=m | ||
| 1837 | CONFIG_NLS_CODEPAGE_866=m | ||
| 1838 | CONFIG_NLS_CODEPAGE_869=m | ||
| 1839 | CONFIG_NLS_CODEPAGE_936=m | ||
| 1840 | CONFIG_NLS_CODEPAGE_950=m | ||
| 1841 | CONFIG_NLS_CODEPAGE_932=m | ||
| 1842 | CONFIG_NLS_CODEPAGE_949=m | ||
| 1843 | CONFIG_NLS_CODEPAGE_874=m | ||
| 1844 | CONFIG_NLS_ISO8859_8=m | ||
| 1845 | CONFIG_NLS_CODEPAGE_1250=m | ||
| 1846 | CONFIG_NLS_CODEPAGE_1251=m | ||
| 1847 | CONFIG_NLS_ASCII=m | ||
| 1848 | CONFIG_NLS_ISO8859_1=m | ||
| 1849 | CONFIG_NLS_ISO8859_2=m | ||
| 1850 | CONFIG_NLS_ISO8859_3=m | ||
| 1851 | CONFIG_NLS_ISO8859_4=m | ||
| 1852 | CONFIG_NLS_ISO8859_5=m | ||
| 1853 | CONFIG_NLS_ISO8859_6=m | ||
| 1854 | CONFIG_NLS_ISO8859_7=m | ||
| 1855 | CONFIG_NLS_ISO8859_9=m | ||
| 1856 | CONFIG_NLS_ISO8859_13=m | ||
| 1857 | CONFIG_NLS_ISO8859_14=m | ||
| 1858 | CONFIG_NLS_ISO8859_15=m | ||
| 1859 | CONFIG_NLS_KOI8_R=m | ||
| 1860 | CONFIG_NLS_KOI8_U=m | ||
| 1861 | CONFIG_NLS_UTF8=m | ||
| 1862 | # CONFIG_DLM is not set | ||
| 1863 | |||
| 1864 | # | ||
| 1865 | # Kernel hacking | ||
| 1866 | # | ||
| 1867 | CONFIG_PRINTK_TIME=y | ||
| 1868 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
| 1869 | CONFIG_ENABLE_MUST_CHECK=y | ||
| 1870 | CONFIG_FRAME_WARN=1024 | ||
| 1871 | # CONFIG_MAGIC_SYSRQ is not set | ||
| 1872 | # CONFIG_STRIP_ASM_SYMS is not set | ||
| 1873 | # CONFIG_UNUSED_SYMBOLS is not set | ||
| 1874 | CONFIG_DEBUG_FS=y | ||
| 1875 | # CONFIG_HEADERS_CHECK is not set | ||
| 1876 | CONFIG_DEBUG_KERNEL=y | ||
| 1877 | # CONFIG_DEBUG_SHIRQ is not set | ||
| 1878 | CONFIG_DETECT_SOFTLOCKUP=y | ||
| 1879 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | ||
| 1880 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | ||
| 1881 | CONFIG_DETECT_HUNG_TASK=y | ||
| 1882 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
| 1883 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
| 1884 | # CONFIG_SCHED_DEBUG is not set | ||
| 1885 | # CONFIG_SCHEDSTATS is not set | ||
| 1886 | # CONFIG_TIMER_STATS is not set | ||
| 1887 | # CONFIG_DEBUG_OBJECTS is not set | ||
| 1888 | # CONFIG_DEBUG_SLAB is not set | ||
| 1889 | # CONFIG_DEBUG_KMEMLEAK is not set | ||
| 1890 | CONFIG_DEBUG_PREEMPT=y | ||
| 1891 | CONFIG_DEBUG_RT_MUTEXES=y | ||
| 1892 | CONFIG_DEBUG_PI_LIST=y | ||
| 1893 | # CONFIG_RT_MUTEX_TESTER is not set | ||
| 1894 | CONFIG_DEBUG_SPINLOCK=y | ||
| 1895 | CONFIG_DEBUG_MUTEXES=y | ||
| 1896 | CONFIG_DEBUG_LOCK_ALLOC=y | ||
| 1897 | CONFIG_PROVE_LOCKING=y | ||
| 1898 | CONFIG_LOCKDEP=y | ||
| 1899 | # CONFIG_LOCK_STAT is not set | ||
| 1900 | # CONFIG_DEBUG_LOCKDEP is not set | ||
| 1901 | CONFIG_TRACE_IRQFLAGS=y | ||
| 1902 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
| 1903 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
| 1904 | CONFIG_STACKTRACE=y | ||
| 1905 | # CONFIG_DEBUG_KOBJECT is not set | ||
| 1906 | CONFIG_DEBUG_BUGVERBOSE=y | ||
| 1907 | # CONFIG_DEBUG_INFO is not set | ||
| 1908 | # CONFIG_DEBUG_VM is not set | ||
| 1909 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
| 1910 | # CONFIG_DEBUG_MEMORY_INIT is not set | ||
| 1911 | # CONFIG_DEBUG_LIST is not set | ||
| 1912 | # CONFIG_DEBUG_SG is not set | ||
| 1913 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
| 1914 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
| 1915 | # CONFIG_BOOT_PRINTK_DELAY is not set | ||
| 1916 | # CONFIG_RCU_TORTURE_TEST is not set | ||
| 1917 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
| 1918 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
| 1919 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
| 1920 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
| 1921 | # CONFIG_FAULT_INJECTION is not set | ||
| 1922 | # CONFIG_LATENCYTOP is not set | ||
| 1923 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
| 1924 | # CONFIG_PAGE_POISONING is not set | ||
| 1925 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
| 1926 | CONFIG_TRACING_SUPPORT=y | ||
| 1927 | # CONFIG_FTRACE is not set | ||
| 1928 | # CONFIG_DYNAMIC_DEBUG is not set | ||
| 1929 | # CONFIG_SAMPLES is not set | ||
| 1930 | CONFIG_HAVE_ARCH_KGDB=y | ||
| 1931 | # CONFIG_KGDB is not set | ||
| 1932 | CONFIG_ARM_UNWIND=y | ||
| 1933 | CONFIG_DEBUG_USER=y | ||
| 1934 | CONFIG_DEBUG_ERRORS=y | ||
| 1935 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
| 1936 | # CONFIG_DEBUG_LL is not set | ||
| 1937 | # CONFIG_OC_ETM is not set | ||
| 1938 | |||
| 1939 | # | ||
| 1940 | # Security options | ||
| 1941 | # | ||
| 1942 | # CONFIG_KEYS is not set | ||
| 1943 | # CONFIG_SECURITY is not set | ||
| 1944 | # CONFIG_SECURITYFS is not set | ||
| 1945 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set | ||
| 1946 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
| 1947 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
| 1948 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
| 1949 | CONFIG_DEFAULT_SECURITY="" | ||
| 1950 | CONFIG_CRYPTO=y | ||
| 1951 | |||
| 1952 | # | ||
| 1953 | # Crypto core or helper | ||
| 1954 | # | ||
| 1955 | CONFIG_CRYPTO_ALGAPI=m | ||
| 1956 | CONFIG_CRYPTO_ALGAPI2=m | ||
| 1957 | CONFIG_CRYPTO_AEAD=m | ||
| 1958 | CONFIG_CRYPTO_AEAD2=m | ||
| 1959 | CONFIG_CRYPTO_BLKCIPHER=m | ||
| 1960 | CONFIG_CRYPTO_BLKCIPHER2=m | ||
| 1961 | CONFIG_CRYPTO_HASH=m | ||
| 1962 | CONFIG_CRYPTO_HASH2=m | ||
| 1963 | CONFIG_CRYPTO_RNG2=m | ||
| 1964 | CONFIG_CRYPTO_PCOMP=m | ||
| 1965 | CONFIG_CRYPTO_MANAGER=m | ||
| 1966 | CONFIG_CRYPTO_MANAGER2=m | ||
| 1967 | CONFIG_CRYPTO_GF128MUL=m | ||
| 1968 | CONFIG_CRYPTO_NULL=m | ||
| 1969 | CONFIG_CRYPTO_WORKQUEUE=m | ||
| 1970 | CONFIG_CRYPTO_CRYPTD=m | ||
| 1971 | CONFIG_CRYPTO_AUTHENC=m | ||
| 1972 | CONFIG_CRYPTO_TEST=m | ||
| 1973 | |||
| 1974 | # | ||
| 1975 | # Authenticated Encryption with Associated Data | ||
| 1976 | # | ||
| 1977 | # CONFIG_CRYPTO_CCM is not set | ||
| 1978 | # CONFIG_CRYPTO_GCM is not set | ||
| 1979 | # CONFIG_CRYPTO_SEQIV is not set | ||
| 1980 | |||
| 1981 | # | ||
| 1982 | # Block modes | ||
| 1983 | # | ||
| 1984 | CONFIG_CRYPTO_CBC=m | ||
| 1985 | # CONFIG_CRYPTO_CTR is not set | ||
| 1986 | # CONFIG_CRYPTO_CTS is not set | ||
| 1987 | CONFIG_CRYPTO_ECB=m | ||
| 1988 | CONFIG_CRYPTO_LRW=m | ||
| 1989 | CONFIG_CRYPTO_PCBC=m | ||
| 1990 | CONFIG_CRYPTO_XTS=m | ||
| 1991 | |||
| 1992 | # | ||
| 1993 | # Hash modes | ||
| 1994 | # | ||
| 1995 | CONFIG_CRYPTO_HMAC=m | ||
| 1996 | CONFIG_CRYPTO_XCBC=m | ||
| 1997 | CONFIG_CRYPTO_VMAC=m | ||
| 1998 | |||
| 1999 | # | ||
| 2000 | # Digest | ||
| 2001 | # | ||
| 2002 | CONFIG_CRYPTO_CRC32C=m | ||
| 2003 | CONFIG_CRYPTO_GHASH=m | ||
| 2004 | CONFIG_CRYPTO_MD4=m | ||
| 2005 | CONFIG_CRYPTO_MD5=m | ||
| 2006 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
| 2007 | # CONFIG_CRYPTO_RMD128 is not set | ||
| 2008 | # CONFIG_CRYPTO_RMD160 is not set | ||
| 2009 | # CONFIG_CRYPTO_RMD256 is not set | ||
| 2010 | # CONFIG_CRYPTO_RMD320 is not set | ||
| 2011 | CONFIG_CRYPTO_SHA1=m | ||
| 2012 | CONFIG_CRYPTO_SHA256=m | ||
| 2013 | CONFIG_CRYPTO_SHA512=m | ||
| 2014 | CONFIG_CRYPTO_TGR192=m | ||
| 2015 | # CONFIG_CRYPTO_WP512 is not set | ||
| 2016 | |||
| 2017 | # | ||
| 2018 | # Ciphers | ||
| 2019 | # | ||
| 2020 | CONFIG_CRYPTO_AES=m | ||
| 2021 | # CONFIG_CRYPTO_ANUBIS is not set | ||
| 2022 | CONFIG_CRYPTO_ARC4=m | ||
| 2023 | CONFIG_CRYPTO_BLOWFISH=m | ||
| 2024 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
| 2025 | CONFIG_CRYPTO_CAST5=m | ||
| 2026 | CONFIG_CRYPTO_CAST6=m | ||
| 2027 | CONFIG_CRYPTO_DES=m | ||
| 2028 | CONFIG_CRYPTO_FCRYPT=m | ||
| 2029 | CONFIG_CRYPTO_KHAZAD=m | ||
| 2030 | # CONFIG_CRYPTO_SALSA20 is not set | ||
| 2031 | CONFIG_CRYPTO_SEED=m | ||
| 2032 | CONFIG_CRYPTO_SERPENT=m | ||
| 2033 | CONFIG_CRYPTO_TEA=m | ||
| 2034 | CONFIG_CRYPTO_TWOFISH=m | ||
| 2035 | CONFIG_CRYPTO_TWOFISH_COMMON=m | ||
| 2036 | |||
| 2037 | # | ||
| 2038 | # Compression | ||
| 2039 | # | ||
| 2040 | CONFIG_CRYPTO_DEFLATE=m | ||
| 2041 | # CONFIG_CRYPTO_ZLIB is not set | ||
| 2042 | # CONFIG_CRYPTO_LZO is not set | ||
| 2043 | |||
| 2044 | # | ||
| 2045 | # Random Number Generation | ||
| 2046 | # | ||
| 2047 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
| 2048 | CONFIG_CRYPTO_HW=y | ||
| 2049 | # CONFIG_BINARY_PRINTF is not set | ||
| 2050 | |||
| 2051 | # | ||
| 2052 | # Library routines | ||
| 2053 | # | ||
| 2054 | CONFIG_BITREVERSE=y | ||
| 2055 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
| 2056 | CONFIG_CRC_CCITT=m | ||
| 2057 | CONFIG_CRC16=y | ||
| 2058 | # CONFIG_CRC_T10DIF is not set | ||
| 2059 | CONFIG_CRC_ITU_T=y | ||
| 2060 | CONFIG_CRC32=y | ||
| 2061 | CONFIG_CRC7=y | ||
| 2062 | CONFIG_LIBCRC32C=m | ||
| 2063 | CONFIG_ZLIB_INFLATE=y | ||
| 2064 | CONFIG_ZLIB_DEFLATE=m | ||
| 2065 | CONFIG_LZO_COMPRESS=m | ||
| 2066 | CONFIG_LZO_DECOMPRESS=m | ||
| 2067 | CONFIG_DECOMPRESS_GZIP=y | ||
| 2068 | CONFIG_DECOMPRESS_BZIP2=y | ||
| 2069 | CONFIG_DECOMPRESS_LZMA=y | ||
| 2070 | CONFIG_TEXTSEARCH=y | ||
| 2071 | CONFIG_TEXTSEARCH_KMP=m | ||
| 2072 | CONFIG_TEXTSEARCH_BM=m | ||
| 2073 | CONFIG_TEXTSEARCH_FSM=m | ||
| 2074 | CONFIG_HAS_IOMEM=y | ||
| 2075 | CONFIG_HAS_IOPORT=y | ||
| 2076 | CONFIG_HAS_DMA=y | ||
| 2077 | CONFIG_NLATTR=y | ||
| @@ -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.32-rc6 | 3 | # Linux kernel version: 2.6.33-rc6 |
| 4 | # Sat Nov 7 20:31:18 2009 | 4 | # Thu Feb 4 23:08:54 2010 |
| 5 | # | 5 | # |
| 6 | CONFIG_ARM=y | 6 | CONFIG_ARM=y |
| 7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | 7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y |
| @@ -32,6 +32,12 @@ CONFIG_LOCK_KERNEL=y · 24 unmodified lines | |||
| 32 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 32 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
| 33 | CONFIG_LOCALVERSION="" | 33 | CONFIG_LOCALVERSION="" |
| 34 | CONFIG_LOCALVERSION_AUTO=y | 34 | CONFIG_LOCALVERSION_AUTO=y |
| 35 | CONFIG_HAVE_KERNEL_GZIP=y | ||
| 36 | CONFIG_HAVE_KERNEL_LZO=y | ||
| 37 | CONFIG_KERNEL_GZIP=y | ||
| 38 | # CONFIG_KERNEL_BZIP2 is not set | ||
| 39 | # CONFIG_KERNEL_LZMA is not set | ||
| 40 | # CONFIG_KERNEL_LZO is not set | ||
| 35 | CONFIG_SWAP=y | 41 | CONFIG_SWAP=y |
| 36 | CONFIG_SYSVIPC=y | 42 | CONFIG_SYSVIPC=y |
| 37 | CONFIG_SYSVIPC_SYSCTL=y | 43 | CONFIG_SYSVIPC_SYSCTL=y |
| @@ -45,6 +51,7 @@ CONFIG_SYSVIPC_SYSCTL=y · 7 unmodified lines | |||
| 45 | # | 51 | # |
| 46 | CONFIG_TREE_RCU=y | 52 | CONFIG_TREE_RCU=y |
| 47 | # CONFIG_TREE_PREEMPT_RCU is not set | 53 | # CONFIG_TREE_PREEMPT_RCU is not set |
| 54 | # CONFIG_TINY_RCU is not set | ||
| 48 | # CONFIG_RCU_TRACE is not set | 55 | # CONFIG_RCU_TRACE is not set |
| 49 | CONFIG_RCU_FANOUT=32 | 56 | CONFIG_RCU_FANOUT=32 |
| 50 | # CONFIG_RCU_FANOUT_EXACT is not set | 57 | # CONFIG_RCU_FANOUT_EXACT is not set |
| @@ -127,14 +134,41 @@ CONFIG_LBDAF=y · 76 unmodified lines | |||
| 127 | # IO Schedulers | 134 | # IO Schedulers |
| 128 | # | 135 | # |
| 129 | CONFIG_IOSCHED_NOOP=y | 136 | CONFIG_IOSCHED_NOOP=y |
| 130 | CONFIG_IOSCHED_AS=y | ||
| 131 | CONFIG_IOSCHED_DEADLINE=y | 137 | CONFIG_IOSCHED_DEADLINE=y |
| 132 | CONFIG_IOSCHED_CFQ=y | 138 | CONFIG_IOSCHED_CFQ=y |
| 133 | # CONFIG_DEFAULT_AS is not set | ||
| 134 | # CONFIG_DEFAULT_DEADLINE is not set | 139 | # CONFIG_DEFAULT_DEADLINE is not set |
| 135 | CONFIG_DEFAULT_CFQ=y | 140 | CONFIG_DEFAULT_CFQ=y |
| 136 | # CONFIG_DEFAULT_NOOP is not set | 141 | # CONFIG_DEFAULT_NOOP is not set |
| 137 | CONFIG_DEFAULT_IOSCHED="cfq" | 142 | CONFIG_DEFAULT_IOSCHED="cfq" |
| 143 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
| 144 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
| 145 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
| 146 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
| 147 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
| 148 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
| 149 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
| 150 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
| 151 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
| 152 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
| 153 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
| 154 | # CONFIG_INLINE_READ_LOCK is not set | ||
| 155 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
| 156 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
| 157 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
| 158 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
| 159 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
| 160 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
| 161 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
| 162 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
| 163 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
| 164 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
| 165 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
| 166 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
| 167 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
| 168 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
| 169 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
| 170 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
| 171 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
| 138 | # CONFIG_FREEZER is not set | 172 | # CONFIG_FREEZER is not set |
| 139 | 173 | ||
| 140 | # | 174 | # |
| @@ -163,6 +197,7 @@ CONFIG_MMU=y · 22 unmodified lines | |||
| 163 | # CONFIG_ARCH_IXP2000 is not set | 197 | # CONFIG_ARCH_IXP2000 is not set |
| 164 | # CONFIG_ARCH_IXP4XX is not set | 198 | # CONFIG_ARCH_IXP4XX is not set |
| 165 | # CONFIG_ARCH_L7200 is not set | 199 | # CONFIG_ARCH_L7200 is not set |
| 200 | # CONFIG_ARCH_DOVE is not set | ||
| 166 | CONFIG_ARCH_KIRKWOOD=y | 201 | CONFIG_ARCH_KIRKWOOD=y |
| 167 | # CONFIG_ARCH_LOKI is not set | 202 | # CONFIG_ARCH_LOKI is not set |
| 168 | # CONFIG_ARCH_MV78XX0 is not set | 203 | # CONFIG_ARCH_MV78XX0 is not set |
| @@ -185,6 +220,7 @@ CONFIG_ARCH_KIRKWOOD=y · 16 unmodified lines | |||
| 185 | # CONFIG_ARCH_DAVINCI is not set | 220 | # CONFIG_ARCH_DAVINCI is not set |
| 186 | # CONFIG_ARCH_OMAP is not set | 221 | # CONFIG_ARCH_OMAP is not set |
| 187 | # CONFIG_ARCH_BCMRING is not set | 222 | # CONFIG_ARCH_BCMRING is not set |
| 223 | # CONFIG_ARCH_U8500 is not set | ||
| 188 | 224 | ||
| 189 | # | 225 | # |
| 190 | # Marvell Kirkwood Implementations | 226 | # Marvell Kirkwood Implementations |
| @@ -195,7 +231,11 @@ CONFIG_MACH_RD88F6281=y · 4 unmodified lines | |||
| 195 | CONFIG_MACH_MV88F6281GTW_GE=y | 231 | CONFIG_MACH_MV88F6281GTW_GE=y |
| 196 | CONFIG_MACH_SHEEVAPLUG=y | 232 | CONFIG_MACH_SHEEVAPLUG=y |
| 197 | CONFIG_MACH_TS219=y | 233 | CONFIG_MACH_TS219=y |
| 234 | CONFIG_MACH_TS41X=y | ||
| 235 | CONFIG_MACH_OPENRD=y | ||
| 198 | CONFIG_MACH_OPENRD_BASE=y | 236 | CONFIG_MACH_OPENRD_BASE=y |
| 237 | CONFIG_MACH_OPENRD_CLIENT=y | ||
| 238 | CONFIG_MACH_NETSPACE_V2=y | ||
| 199 | CONFIG_PLAT_ORION=y | 239 | CONFIG_PLAT_ORION=y |
| 200 | 240 | ||
| 201 | # | 241 | # |
| @@ -262,12 +302,10 @@ CONFIG_FLATMEM_MANUAL=y · 60 unmodified lines | |||
| 262 | CONFIG_FLATMEM=y | 302 | CONFIG_FLATMEM=y |
| 263 | CONFIG_FLAT_NODE_MEM_MAP=y | 303 | CONFIG_FLAT_NODE_MEM_MAP=y |
| 264 | CONFIG_PAGEFLAGS_EXTENDED=y | 304 | CONFIG_PAGEFLAGS_EXTENDED=y |
| 265 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | 305 | CONFIG_SPLIT_PTLOCK_CPUS=999999 |
| 266 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 306 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
| 267 | CONFIG_ZONE_DMA_FLAG=0 | 307 | CONFIG_ZONE_DMA_FLAG=0 |
| 268 | CONFIG_VIRT_TO_BUS=y | 308 | CONFIG_VIRT_TO_BUS=y |
| 269 | CONFIG_HAVE_MLOCK=y | ||
| 270 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
| 271 | # CONFIG_KSM is not set | 309 | # CONFIG_KSM is not set |
| 272 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 310 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
| 273 | CONFIG_ALIGNMENT_TRAP=y | 311 | CONFIG_ALIGNMENT_TRAP=y |
| @@ -398,15 +436,18 @@ CONFIG_NET_PKTGEN=m · 124 unmodified lines | |||
| 398 | # CONFIG_BT is not set | 436 | # CONFIG_BT is not set |
| 399 | # CONFIG_AF_RXRPC is not set | 437 | # CONFIG_AF_RXRPC is not set |
| 400 | CONFIG_WIRELESS=y | 438 | CONFIG_WIRELESS=y |
| 439 | CONFIG_WIRELESS_EXT=y | ||
| 440 | CONFIG_WEXT_CORE=y | ||
| 441 | CONFIG_WEXT_PROC=y | ||
| 442 | CONFIG_WEXT_SPY=y | ||
| 401 | CONFIG_CFG80211=y | 443 | CONFIG_CFG80211=y |
| 402 | # CONFIG_NL80211_TESTMODE is not set | 444 | # CONFIG_NL80211_TESTMODE is not set |
| 403 | # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set | 445 | # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set |
| 404 | # CONFIG_CFG80211_REG_DEBUG is not set | 446 | # CONFIG_CFG80211_REG_DEBUG is not set |
| 405 | CONFIG_CFG80211_DEFAULT_PS=y | 447 | CONFIG_CFG80211_DEFAULT_PS=y |
| 406 | CONFIG_CFG80211_DEFAULT_PS_VALUE=1 | ||
| 407 | # CONFIG_CFG80211_DEBUGFS is not set | 448 | # CONFIG_CFG80211_DEBUGFS is not set |
| 408 | CONFIG_WIRELESS_OLD_REGULATORY=y | 449 | CONFIG_WIRELESS_OLD_REGULATORY=y |
| 409 | CONFIG_WIRELESS_EXT=y | 450 | CONFIG_CFG80211_WEXT=y |
| 410 | CONFIG_WIRELESS_EXT_SYSFS=y | 451 | CONFIG_WIRELESS_EXT_SYSFS=y |
| 411 | CONFIG_LIB80211=y | 452 | CONFIG_LIB80211=y |
| 412 | # CONFIG_LIB80211_DEBUG is not set | 453 | # CONFIG_LIB80211_DEBUG is not set |
| @@ -556,6 +597,10 @@ CONFIG_BLK_DEV=y · 143 unmodified lines | |||
| 556 | # CONFIG_BLK_DEV_COW_COMMON is not set | 597 | # CONFIG_BLK_DEV_COW_COMMON is not set |
| 557 | CONFIG_BLK_DEV_LOOP=y | 598 | CONFIG_BLK_DEV_LOOP=y |
| 558 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 599 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set |
| 600 | |||
| 601 | # | ||
| 602 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
| 603 | # | ||
| 559 | # CONFIG_BLK_DEV_NBD is not set | 604 | # CONFIG_BLK_DEV_NBD is not set |
| 560 | # CONFIG_BLK_DEV_SX8 is not set | 605 | # CONFIG_BLK_DEV_SX8 is not set |
| 561 | # CONFIG_BLK_DEV_UB is not set | 606 | # CONFIG_BLK_DEV_UB is not set |
| @@ -606,7 +651,9 @@ CONFIG_SCSI_LOWLEVEL=y · 44 unmodified lines | |||
| 606 | # CONFIG_SCSI_BNX2_ISCSI is not set | 651 | # CONFIG_SCSI_BNX2_ISCSI is not set |
| 607 | # CONFIG_BE2ISCSI is not set | 652 | # CONFIG_BE2ISCSI is not set |
| 608 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 653 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
| 654 | # CONFIG_SCSI_HPSA is not set | ||
| 609 | # CONFIG_SCSI_3W_9XXX is not set | 655 | # CONFIG_SCSI_3W_9XXX is not set |
| 656 | # CONFIG_SCSI_3W_SAS is not set | ||
| 610 | # CONFIG_SCSI_ACARD is not set | 657 | # CONFIG_SCSI_ACARD is not set |
| 611 | # CONFIG_SCSI_AACRAID is not set | 658 | # CONFIG_SCSI_AACRAID is not set |
| 612 | # CONFIG_SCSI_AIC7XXX is not set | 659 | # CONFIG_SCSI_AIC7XXX is not set |
| @@ -642,6 +689,7 @@ CONFIG_SCSI_LOWLEVEL=y · 29 unmodified lines | |||
| 642 | # CONFIG_SCSI_NSP32 is not set | 689 | # CONFIG_SCSI_NSP32 is not set |
| 643 | # CONFIG_SCSI_DEBUG is not set | 690 | # CONFIG_SCSI_DEBUG is not set |
| 644 | # CONFIG_SCSI_PMCRAID is not set | 691 | # CONFIG_SCSI_PMCRAID is not set |
| 692 | # CONFIG_SCSI_PM8001 is not set | ||
| 645 | # CONFIG_SCSI_SRP is not set | 693 | # CONFIG_SCSI_SRP is not set |
| 646 | # CONFIG_SCSI_BFA_FC is not set | 694 | # CONFIG_SCSI_BFA_FC is not set |
| 647 | # CONFIG_SCSI_DH is not set | 695 | # CONFIG_SCSI_DH is not set |
| @@ -696,15 +744,16 @@ CONFIG_SATA_MV=y · 48 unmodified lines | |||
| 696 | # CONFIG_PATA_NS87415 is not set | 744 | # CONFIG_PATA_NS87415 is not set |
| 697 | # CONFIG_PATA_OPTI is not set | 745 | # CONFIG_PATA_OPTI is not set |
| 698 | # CONFIG_PATA_OPTIDMA is not set | 746 | # CONFIG_PATA_OPTIDMA is not set |
| 747 | # CONFIG_PATA_PDC2027X is not set | ||
| 699 | # CONFIG_PATA_PDC_OLD is not set | 748 | # CONFIG_PATA_PDC_OLD is not set |
| 700 | # CONFIG_PATA_RADISYS is not set | 749 | # CONFIG_PATA_RADISYS is not set |
| 701 | # CONFIG_PATA_RDC is not set | 750 | # CONFIG_PATA_RDC is not set |
| 702 | # CONFIG_PATA_RZ1000 is not set | 751 | # CONFIG_PATA_RZ1000 is not set |
| 703 | # CONFIG_PATA_SC1200 is not set | 752 | # CONFIG_PATA_SC1200 is not set |
| 704 | # CONFIG_PATA_SERVERWORKS is not set | 753 | # CONFIG_PATA_SERVERWORKS is not set |
| 705 | # CONFIG_PATA_PDC2027X is not set | ||
| 706 | # CONFIG_PATA_SIL680 is not set | 754 | # CONFIG_PATA_SIL680 is not set |
| 707 | # CONFIG_PATA_SIS is not set | 755 | # CONFIG_PATA_SIS is not set |
| 756 | # CONFIG_PATA_TOSHIBA is not set | ||
| 708 | # CONFIG_PATA_VIA is not set | 757 | # CONFIG_PATA_VIA is not set |
| 709 | # CONFIG_PATA_WINBOND is not set | 758 | # CONFIG_PATA_WINBOND is not set |
| 710 | # CONFIG_PATA_SCH is not set | 759 | # CONFIG_PATA_SCH is not set |
| @@ -720,7 +769,7 @@ CONFIG_SATA_MV=y · 9 unmodified lines | |||
| 720 | # | 769 | # |
| 721 | 770 | ||
| 722 | # | 771 | # |
| 723 | # See the help texts for more information. | 772 | # The newer stack is recommended. |
| 724 | # | 773 | # |
| 725 | # CONFIG_FIREWIRE is not set | 774 | # CONFIG_FIREWIRE is not set |
| 726 | # CONFIG_IEEE1394 is not set | 775 | # CONFIG_IEEE1394 is not set |
| @@ -828,13 +877,6 @@ CONFIG_MV643XX_ETH=y · 101 unmodified lines | |||
| 828 | # CONFIG_NETDEV_10000 is not set | 877 | # CONFIG_NETDEV_10000 is not set |
| 829 | # CONFIG_TR is not set | 878 | # CONFIG_TR is not set |
| 830 | CONFIG_WLAN=y | 879 | CONFIG_WLAN=y |
| 831 | # CONFIG_WLAN_PRE80211 is not set | ||
| 832 | CONFIG_WLAN_80211=y | ||
| 833 | CONFIG_LIBERTAS=y | ||
| 834 | # CONFIG_LIBERTAS_USB is not set | ||
| 835 | CONFIG_LIBERTAS_SDIO=y | ||
| 836 | # CONFIG_LIBERTAS_SPI is not set | ||
| 837 | # CONFIG_LIBERTAS_DEBUG is not set | ||
| 838 | # CONFIG_LIBERTAS_THINFIRM is not set | 880 | # CONFIG_LIBERTAS_THINFIRM is not set |
| 839 | # CONFIG_ATMEL is not set | 881 | # CONFIG_ATMEL is not set |
| 840 | # CONFIG_AT76C50X_USB is not set | 882 | # CONFIG_AT76C50X_USB is not set |
| @@ -846,19 +888,24 @@ CONFIG_LIBERTAS_SDIO=y · 5 unmodified lines | |||
| 846 | # CONFIG_ADM8211 is not set | 888 | # CONFIG_ADM8211 is not set |
| 847 | # CONFIG_MAC80211_HWSIM is not set | 889 | # CONFIG_MAC80211_HWSIM is not set |
| 848 | # CONFIG_MWL8K is not set | 890 | # CONFIG_MWL8K is not set |
| 849 | # CONFIG_P54_COMMON is not set | ||
| 850 | # CONFIG_ATH_COMMON is not set | 891 | # CONFIG_ATH_COMMON is not set |
| 892 | # CONFIG_B43 is not set | ||
| 893 | # CONFIG_B43LEGACY is not set | ||
| 894 | # CONFIG_HOSTAP is not set | ||
| 851 | # CONFIG_IPW2100 is not set | 895 | # CONFIG_IPW2100 is not set |
| 852 | # CONFIG_IPW2200 is not set | 896 | # CONFIG_IPW2200 is not set |
| 853 | # CONFIG_IWLWIFI is not set | 897 | # CONFIG_IWLWIFI is not set |
| 854 | # CONFIG_HOSTAP is not set | 898 | # CONFIG_IWM is not set |
| 855 | # CONFIG_B43 is not set | 899 | CONFIG_LIBERTAS=y |
| 856 | # CONFIG_B43LEGACY is not set | 900 | # CONFIG_LIBERTAS_USB is not set |
| 857 | # CONFIG_ZD1211RW is not set | 901 | CONFIG_LIBERTAS_SDIO=y |
| 858 | # CONFIG_RT2X00 is not set | 902 | # CONFIG_LIBERTAS_SPI is not set |
| 903 | # CONFIG_LIBERTAS_DEBUG is not set | ||
| 859 | # CONFIG_HERMES is not set | 904 | # CONFIG_HERMES is not set |
| 905 | # CONFIG_P54_COMMON is not set | ||
| 906 | # CONFIG_RT2X00 is not set | ||
| 860 | # CONFIG_WL12XX is not set | 907 | # CONFIG_WL12XX is not set |
| 861 | # CONFIG_IWM is not set | 908 | # CONFIG_ZD1211RW is not set |
| 862 | 909 | ||
| 863 | # | 910 | # |
| 864 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 911 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
| @@ -881,6 +928,7 @@ CONFIG_LIBERTAS_SDIO=y · 16 unmodified lines | |||
| 881 | # CONFIG_NETCONSOLE is not set | 928 | # CONFIG_NETCONSOLE is not set |
| 882 | # CONFIG_NETPOLL is not set | 929 | # CONFIG_NETPOLL is not set |
| 883 | # CONFIG_NET_POLL_CONTROLLER is not set | 930 | # CONFIG_NET_POLL_CONTROLLER is not set |
| 931 | # CONFIG_VMXNET3 is not set | ||
| 884 | # CONFIG_ISDN is not set | 932 | # CONFIG_ISDN is not set |
| 885 | # CONFIG_PHONE is not set | 933 | # CONFIG_PHONE is not set |
| 886 | 934 | ||
| @@ -890,6 +938,7 @@ CONFIG_LIBERTAS_SDIO=y · 3 unmodified lines | |||
| 890 | CONFIG_INPUT=y | 938 | CONFIG_INPUT=y |
| 891 | # CONFIG_INPUT_FF_MEMLESS is not set | 939 | # CONFIG_INPUT_FF_MEMLESS is not set |
| 892 | # CONFIG_INPUT_POLLDEV is not set | 940 | # CONFIG_INPUT_POLLDEV is not set |
| 941 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
| 893 | 942 | ||
| 894 | # | 943 | # |
| 895 | # Userland interfaces | 944 | # Userland interfaces |
| @@ -933,6 +982,7 @@ CONFIG_SERIO_SERPORT=y · 37 unmodified lines | |||
| 933 | # CONFIG_SERIO_PCIPS2 is not set | 982 | # CONFIG_SERIO_PCIPS2 is not set |
| 934 | CONFIG_SERIO_LIBPS2=y | 983 | CONFIG_SERIO_LIBPS2=y |
| 935 | # CONFIG_SERIO_RAW is not set | 984 | # CONFIG_SERIO_RAW is not set |
| 985 | # CONFIG_SERIO_ALTERA_PS2 is not set | ||
| 936 | # CONFIG_GAMEPORT is not set | 986 | # CONFIG_GAMEPORT is not set |
| 937 | 987 | ||
| 938 | # | 988 | # |
| @@ -1018,11 +1068,6 @@ CONFIG_I2C_MV64XXX=y · 79 unmodified lines | |||
| 1018 | # CONFIG_I2C_TAOS_EVM is not set | 1068 | # CONFIG_I2C_TAOS_EVM is not set |
| 1019 | # CONFIG_I2C_TINY_USB is not set | 1069 | # CONFIG_I2C_TINY_USB is not set |
| 1020 | 1070 | ||
| 1021 | # | ||
| 1022 | # Graphics adapter I2C/DDC channel drivers | ||
| 1023 | # | ||
| 1024 | # CONFIG_I2C_VOODOO3 is not set | ||
| 1025 | |||
| 1026 | # | 1071 | # |
| 1027 | # Other I2C/SMBus bus drivers | 1072 | # Other I2C/SMBus bus drivers |
| 1028 | # | 1073 | # |
| @@ -1032,7 +1077,6 @@ CONFIG_I2C_MV64XXX=y · 3 unmodified lines | |||
| 1032 | # | 1077 | # |
| 1033 | # Miscellaneous I2C Chip support | 1078 | # Miscellaneous I2C Chip support |
| 1034 | # | 1079 | # |
| 1035 | # CONFIG_DS1682 is not set | ||
| 1036 | # CONFIG_SENSORS_TSL2550 is not set | 1080 | # CONFIG_SENSORS_TSL2550 is not set |
| 1037 | # CONFIG_I2C_DEBUG_CORE is not set | 1081 | # CONFIG_I2C_DEBUG_CORE is not set |
| 1038 | # CONFIG_I2C_DEBUG_ALGO is not set | 1082 | # CONFIG_I2C_DEBUG_ALGO is not set |
| @@ -1048,6 +1092,8 @@ CONFIG_SPI_MASTER=y · 9 unmodified lines | |||
| 1048 | # CONFIG_SPI_BITBANG is not set | 1092 | # CONFIG_SPI_BITBANG is not set |
| 1049 | # CONFIG_SPI_GPIO is not set | 1093 | # CONFIG_SPI_GPIO is not set |
| 1050 | CONFIG_SPI_ORION=y | 1094 | CONFIG_SPI_ORION=y |
| 1095 | # CONFIG_SPI_XILINX is not set | ||
| 1096 | # CONFIG_SPI_DESIGNWARE is not set | ||
| 1051 | 1097 | ||
| 1052 | # | 1098 | # |
| 1053 | # SPI Protocol Masters | 1099 | # SPI Protocol Masters |
| @@ -1074,10 +1120,12 @@ CONFIG_GPIO_SYSFS=y · 20 unmodified lines | |||
| 1074 | # CONFIG_GPIO_MAX732X is not set | 1120 | # CONFIG_GPIO_MAX732X is not set |
| 1075 | # CONFIG_GPIO_PCA953X is not set | 1121 | # CONFIG_GPIO_PCA953X is not set |
| 1076 | # CONFIG_GPIO_PCF857X is not set | 1122 | # CONFIG_GPIO_PCF857X is not set |
| 1123 | # CONFIG_GPIO_ADP5588 is not set | ||
| 1077 | 1124 | ||
| 1078 | # | 1125 | # |
| 1079 | # PCI GPIO expanders: | 1126 | # PCI GPIO expanders: |
| 1080 | # | 1127 | # |
| 1128 | # CONFIG_GPIO_CS5535 is not set | ||
| 1081 | # CONFIG_GPIO_BT8XX is not set | 1129 | # CONFIG_GPIO_BT8XX is not set |
| 1082 | # CONFIG_GPIO_LANGWELL is not set | 1130 | # CONFIG_GPIO_LANGWELL is not set |
| 1083 | 1131 | ||
| @@ -1116,6 +1164,7 @@ CONFIG_SSB_POSSIBLE=y · 32 unmodified lines | |||
| 1116 | # CONFIG_MFD_TMIO is not set | 1164 | # CONFIG_MFD_TMIO is not set |
| 1117 | # CONFIG_MFD_TC6393XB is not set | 1165 | # CONFIG_MFD_TC6393XB is not set |
| 1118 | # CONFIG_PMIC_DA903X is not set | 1166 | # CONFIG_PMIC_DA903X is not set |
| 1167 | # CONFIG_PMIC_ADP5520 is not set | ||
| 1119 | # CONFIG_MFD_WM8400 is not set | 1168 | # CONFIG_MFD_WM8400 is not set |
| 1120 | # CONFIG_MFD_WM831X is not set | 1169 | # CONFIG_MFD_WM831X is not set |
| 1121 | # CONFIG_MFD_WM8350_I2C is not set | 1170 | # CONFIG_MFD_WM8350_I2C is not set |
| @@ -1123,6 +1172,8 @@ CONFIG_SSB_POSSIBLE=y · 1 unmodified line | |||
| 1123 | # CONFIG_MFD_MC13783 is not set | 1172 | # CONFIG_MFD_MC13783 is not set |
| 1124 | # CONFIG_AB3100_CORE is not set | 1173 | # CONFIG_AB3100_CORE is not set |
| 1125 | # CONFIG_EZX_PCAP is not set | 1174 | # CONFIG_EZX_PCAP is not set |
| 1175 | # CONFIG_MFD_88PM8607 is not set | ||
| 1176 | # CONFIG_AB4500_CORE is not set | ||
| 1126 | # CONFIG_REGULATOR is not set | 1177 | # CONFIG_REGULATOR is not set |
| 1127 | # CONFIG_MEDIA_SUPPORT is not set | 1178 | # CONFIG_MEDIA_SUPPORT is not set |
| 1128 | 1179 | ||
| @@ -1305,6 +1356,7 @@ CONFIG_USB_STORAGE_JUMPSHOT=y · 176 unmodified lines | |||
| 1305 | # OTG and related infrastructure | 1356 | # OTG and related infrastructure |
| 1306 | # | 1357 | # |
| 1307 | # CONFIG_USB_GPIO_VBUS is not set | 1358 | # CONFIG_USB_GPIO_VBUS is not set |
| 1359 | # CONFIG_USB_ULPI is not set | ||
| 1308 | # CONFIG_NOP_USB_XCEIV is not set | 1360 | # CONFIG_NOP_USB_XCEIV is not set |
| 1309 | # CONFIG_UWB is not set | 1361 | # CONFIG_UWB is not set |
| 1310 | CONFIG_MMC=y | 1362 | CONFIG_MMC=y |
| @@ -1344,6 +1396,7 @@ CONFIG_LEDS_GPIO_PLATFORM=y · 33 unmodified lines | |||
| 1344 | # CONFIG_LEDS_PCA955X is not set | 1396 | # CONFIG_LEDS_PCA955X is not set |
| 1345 | # CONFIG_LEDS_DAC124S085 is not set | 1397 | # CONFIG_LEDS_DAC124S085 is not set |
| 1346 | # CONFIG_LEDS_BD2802 is not set | 1398 | # CONFIG_LEDS_BD2802 is not set |
| 1399 | # CONFIG_LEDS_LT3593 is not set | ||
| 1347 | 1400 | ||
| 1348 | # | 1401 | # |
| 1349 | # LED Triggers | 1402 | # LED Triggers |
| @@ -1388,6 +1441,7 @@ CONFIG_RTC_INTF_DEV=y · 38 unmodified lines | |||
| 1388 | # CONFIG_RTC_DRV_PCF8563 is not set | 1441 | # CONFIG_RTC_DRV_PCF8563 is not set |
| 1389 | # CONFIG_RTC_DRV_PCF8583 is not set | 1442 | # CONFIG_RTC_DRV_PCF8583 is not set |
| 1390 | # CONFIG_RTC_DRV_M41T80 is not set | 1443 | # CONFIG_RTC_DRV_M41T80 is not set |
| 1444 | # CONFIG_RTC_DRV_BQ32K is not set | ||
| 1391 | CONFIG_RTC_DRV_S35390A=y | 1445 | CONFIG_RTC_DRV_S35390A=y |
| 1392 | # CONFIG_RTC_DRV_FM3130 is not set | 1446 | # CONFIG_RTC_DRV_FM3130 is not set |
| 1393 | # CONFIG_RTC_DRV_RX8581 is not set | 1447 | # CONFIG_RTC_DRV_RX8581 is not set |
| @@ -1417,7 +1471,9 @@ CONFIG_RTC_DRV_S35390A=y · 23 unmodified lines | |||
| 1417 | # CONFIG_RTC_DRV_M48T86 is not set | 1471 | # CONFIG_RTC_DRV_M48T86 is not set |
| 1418 | # CONFIG_RTC_DRV_M48T35 is not set | 1472 | # CONFIG_RTC_DRV_M48T35 is not set |
| 1419 | # CONFIG_RTC_DRV_M48T59 is not set | 1473 | # CONFIG_RTC_DRV_M48T59 is not set |
| 1474 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
| 1420 | # CONFIG_RTC_DRV_BQ4802 is not set | 1475 | # CONFIG_RTC_DRV_BQ4802 is not set |
| 1476 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
| 1421 | # CONFIG_RTC_DRV_V3020 is not set | 1477 | # CONFIG_RTC_DRV_V3020 is not set |
| 1422 | 1478 | ||
| 1423 | # | 1479 | # |
| @@ -1684,7 +1740,9 @@ CONFIG_DEBUG_USER=y · 260 unmodified lines | |||
| 1684 | CONFIG_DEBUG_ERRORS=y | 1740 | CONFIG_DEBUG_ERRORS=y |
| 1685 | # CONFIG_DEBUG_STACK_USAGE is not set | 1741 | # CONFIG_DEBUG_STACK_USAGE is not set |
| 1686 | CONFIG_DEBUG_LL=y | 1742 | CONFIG_DEBUG_LL=y |
| 1743 | # CONFIG_EARLY_PRINTK is not set | ||
| 1687 | # CONFIG_DEBUG_ICEDCC is not set | 1744 | # CONFIG_DEBUG_ICEDCC is not set |
| 1745 | # CONFIG_OC_ETM is not set | ||
| 1688 | 1746 | ||
| 1689 | # | 1747 | # |
| 1690 | # Security options | 1748 | # Security options |
| @@ -1692,7 +1750,11 @@ CONFIG_DEBUG_LL=y · 1 unmodified line | |||
| 1692 | # CONFIG_KEYS is not set | 1750 | # CONFIG_KEYS is not set |
| 1693 | # CONFIG_SECURITY is not set | 1751 | # CONFIG_SECURITY is not set |
| 1694 | # CONFIG_SECURITYFS is not set | 1752 | # CONFIG_SECURITYFS is not set |
| 1695 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1753 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
| 1754 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
| 1755 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
| 1756 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
| 1757 | CONFIG_DEFAULT_SECURITY="" | ||
| 1696 | CONFIG_CRYPTO=y | 1758 | CONFIG_CRYPTO=y |
| 1697 | 1759 | ||
| 1698 | # | 1760 | # |
| @@ -184,7 +184,7 @@ CONFIG_S3C24XX_PWM=y · 183 unmodified lines | |||
| 184 | CONFIG_S3C24XX_GPIO_EXTRA=0 | 184 | CONFIG_S3C24XX_GPIO_EXTRA=0 |
| 185 | CONFIG_S3C2410_DMA=y | 185 | CONFIG_S3C2410_DMA=y |
| 186 | # CONFIG_S3C2410_DMA_DEBUG is not set | 186 | # CONFIG_S3C2410_DMA_DEBUG is not set |
| 187 | CONFIG_S3C24XX_ADC=y | 187 | CONFIG_S3C_ADC=y |
| 188 | CONFIG_PLAT_S3C=y | 188 | CONFIG_PLAT_S3C=y |
| 189 | CONFIG_CPU_LLSERIAL_S3C2440_ONLY=y | 189 | CONFIG_CPU_LLSERIAL_S3C2440_ONLY=y |
| 190 | CONFIG_CPU_LLSERIAL_S3C2440=y | 190 | CONFIG_CPU_LLSERIAL_S3C2440=y |
| @@ -199,8 +199,8 @@ CONFIG_S3C_BOOT_UART_FORCE_FIFO=y · 8 unmodified lines | |||
| 199 | # | 199 | # |
| 200 | # Power management | 200 | # Power management |
| 201 | # | 201 | # |
| 202 | # CONFIG_S3C2410_PM_DEBUG is not set | 202 | # CONFIG_SAMSUNG_PM_DEBUG is not set |
| 203 | # CONFIG_S3C2410_PM_CHECK is not set | 203 | # CONFIG_SAMSUNG_PM_CHECK is not set |
| 204 | CONFIG_S3C_LOWLEVEL_UART_PORT=0 | 204 | CONFIG_S3C_LOWLEVEL_UART_PORT=0 |
| 205 | CONFIG_S3C_GPIO_SPACE=0 | 205 | CONFIG_S3C_GPIO_SPACE=0 |
| 206 | 206 | ||
| @@ -0,0 +1,1194 @@ | |||
| 1 | # | ||
| 2 | # Automatically generated make config: don't edit | ||
| 3 | # Linux kernel version: 2.6.33-rc2 | ||
| 4 | # Tue Jan 5 13:55:22 2010 | ||
| 5 | # | ||
| 6 | CONFIG_ARM=y | ||
| 7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | ||
| 8 | CONFIG_GENERIC_GPIO=y | ||
| 9 | CONFIG_GENERIC_TIME=y | ||
| 10 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
| 11 | CONFIG_GENERIC_HARDIRQS=y | ||
| 12 | CONFIG_STACKTRACE_SUPPORT=y | ||
| 13 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
| 14 | CONFIG_LOCKDEP_SUPPORT=y | ||
| 15 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
| 16 | CONFIG_HARDIRQS_SW_RESEND=y | ||
| 17 | CONFIG_GENERIC_IRQ_PROBE=y | ||
| 18 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
| 19 | CONFIG_GENERIC_HWEIGHT=y | ||
| 20 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
| 21 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
| 22 | CONFIG_VECTORS_BASE=0xffff0000 | ||
| 23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
| 24 | CONFIG_CONSTRUCTORS=y | ||
| 25 | |||
| 26 | # | ||
| 27 | # General setup | ||
| 28 | # | ||
| 29 | CONFIG_EXPERIMENTAL=y | ||
| 30 | CONFIG_BROKEN_ON_SMP=y | ||
| 31 | CONFIG_LOCK_KERNEL=y | ||
| 32 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
| 33 | CONFIG_LOCALVERSION="" | ||
| 34 | CONFIG_LOCALVERSION_AUTO=y | ||
| 35 | CONFIG_SWAP=y | ||
| 36 | CONFIG_SYSVIPC=y | ||
| 37 | CONFIG_SYSVIPC_SYSCTL=y | ||
| 38 | # CONFIG_POSIX_MQUEUE is not set | ||
| 39 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
| 40 | # CONFIG_TASKSTATS is not set | ||
| 41 | # CONFIG_AUDIT is not set | ||
| 42 | |||
| 43 | # | ||
| 44 | # RCU Subsystem | ||
| 45 | # | ||
| 46 | CONFIG_TREE_RCU=y | ||
| 47 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
| 48 | # CONFIG_TINY_RCU is not set | ||
| 49 | # CONFIG_RCU_TRACE is not set | ||
| 50 | CONFIG_RCU_FANOUT=32 | ||
| 51 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
| 52 | # CONFIG_TREE_RCU_TRACE is not set | ||
| 53 | # CONFIG_IKCONFIG is not set | ||
| 54 | CONFIG_LOG_BUF_SHIFT=14 | ||
| 55 | # CONFIG_GROUP_SCHED is not set | ||
| 56 | # CONFIG_CGROUPS is not set | ||
| 57 | CONFIG_SYSFS_DEPRECATED=y | ||
| 58 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
| 59 | # CONFIG_RELAY is not set | ||
| 60 | CONFIG_NAMESPACES=y | ||
| 61 | # CONFIG_UTS_NS is not set | ||
| 62 | # CONFIG_IPC_NS is not set | ||
| 63 | # CONFIG_USER_NS is not set | ||
| 64 | # CONFIG_PID_NS is not set | ||
| 65 | # CONFIG_NET_NS is not set | ||
| 66 | # CONFIG_BLK_DEV_INITRD is not set | ||
| 67 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
| 68 | CONFIG_SYSCTL=y | ||
| 69 | CONFIG_ANON_INODES=y | ||
| 70 | # CONFIG_EMBEDDED is not set | ||
| 71 | CONFIG_UID16=y | ||
| 72 | CONFIG_SYSCTL_SYSCALL=y | ||
| 73 | CONFIG_KALLSYMS=y | ||
| 74 | # CONFIG_KALLSYMS_ALL is not set | ||
| 75 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
| 76 | CONFIG_HOTPLUG=y | ||
| 77 | CONFIG_PRINTK=y | ||
| 78 | CONFIG_BUG=y | ||
| 79 | CONFIG_ELF_CORE=y | ||
| 80 | CONFIG_BASE_FULL=y | ||
| 81 | CONFIG_FUTEX=y | ||
| 82 | CONFIG_EPOLL=y | ||
| 83 | CONFIG_SIGNALFD=y | ||
| 84 | CONFIG_TIMERFD=y | ||
| 85 | CONFIG_EVENTFD=y | ||
| 86 | CONFIG_SHMEM=y | ||
| 87 | CONFIG_AIO=y | ||
| 88 | |||
| 89 | # | ||
| 90 | # Kernel Performance Events And Counters | ||
| 91 | # | ||
| 92 | CONFIG_VM_EVENT_COUNTERS=y | ||
| 93 | CONFIG_COMPAT_BRK=y | ||
| 94 | CONFIG_SLAB=y | ||
| 95 | # CONFIG_SLUB is not set | ||
| 96 | # CONFIG_SLOB is not set | ||
| 97 | # CONFIG_PROFILING is not set | ||
| 98 | CONFIG_HAVE_OPROFILE=y | ||
| 99 | # CONFIG_KPROBES is not set | ||
| 100 | CONFIG_HAVE_KPROBES=y | ||
| 101 | CONFIG_HAVE_KRETPROBES=y | ||
| 102 | CONFIG_HAVE_CLK=y | ||
| 103 | |||
| 104 | # | ||
| 105 | # GCOV-based kernel profiling | ||
| 106 | # | ||
| 107 | # CONFIG_SLOW_WORK is not set | ||
| 108 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | ||
| 109 | CONFIG_SLABINFO=y | ||
| 110 | CONFIG_RT_MUTEXES=y | ||
| 111 | CONFIG_BASE_SMALL=0 | ||
| 112 | CONFIG_MODULES=y | ||
| 113 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
| 114 | CONFIG_MODULE_UNLOAD=y | ||
| 115 | CONFIG_MODULE_FORCE_UNLOAD=y | ||
| 116 | # CONFIG_MODVERSIONS is not set | ||
| 117 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
| 118 | CONFIG_BLOCK=y | ||
| 119 | CONFIG_LBDAF=y | ||
| 120 | # CONFIG_BLK_DEV_BSG is not set | ||
| 121 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
| 122 | |||
| 123 | # | ||
| 124 | # IO Schedulers | ||
| 125 | # | ||
| 126 | CONFIG_IOSCHED_NOOP=y | ||
| 127 | CONFIG_IOSCHED_DEADLINE=y | ||
| 128 | CONFIG_IOSCHED_CFQ=y | ||
| 129 | # CONFIG_DEFAULT_DEADLINE is not set | ||
| 130 | CONFIG_DEFAULT_CFQ=y | ||
| 131 | # CONFIG_DEFAULT_NOOP is not set | ||
| 132 | CONFIG_DEFAULT_IOSCHED="cfq" | ||
| 133 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
| 134 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
| 135 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
| 136 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
| 137 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
| 138 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
| 139 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
| 140 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
| 141 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
| 142 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
| 143 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
| 144 | # CONFIG_INLINE_READ_LOCK is not set | ||
| 145 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
| 146 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
| 147 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
| 148 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
| 149 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
| 150 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
| 151 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
| 152 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
| 153 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
| 154 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
| 155 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
| 156 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
| 157 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
| 158 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
| 159 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
| 160 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
| 161 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
| 162 | # CONFIG_FREEZER is not set | ||
| 163 | |||
| 164 | # | ||
| 165 | # System Type | ||
| 166 | # | ||
| 167 | CONFIG_MMU=y | ||
| 168 | # CONFIG_ARCH_AAEC2000 is not set | ||
| 169 | # CONFIG_ARCH_INTEGRATOR is not set | ||
| 170 | # CONFIG_ARCH_REALVIEW is not set | ||
| 171 | # CONFIG_ARCH_VERSATILE is not set | ||
| 172 | # CONFIG_ARCH_AT91 is not set | ||
| 173 | # CONFIG_ARCH_CLPS711X is not set | ||
| 174 | # CONFIG_ARCH_GEMINI is not set | ||
| 175 | # CONFIG_ARCH_EBSA110 is not set | ||
| 176 | # CONFIG_ARCH_EP93XX is not set | ||
| 177 | # CONFIG_ARCH_FOOTBRIDGE is not set | ||
| 178 | # CONFIG_ARCH_MXC is not set | ||
| 179 | # CONFIG_ARCH_STMP3XXX is not set | ||
| 180 | # CONFIG_ARCH_NETX is not set | ||
| 181 | # CONFIG_ARCH_H720X is not set | ||
| 182 | # CONFIG_ARCH_NOMADIK is not set | ||
| 183 | # CONFIG_ARCH_IOP13XX is not set | ||
| 184 | # CONFIG_ARCH_IOP32X is not set | ||
| 185 | # CONFIG_ARCH_IOP33X is not set | ||
| 186 | # CONFIG_ARCH_IXP23XX is not set | ||
| 187 | # CONFIG_ARCH_IXP2000 is not set | ||
| 188 | # CONFIG_ARCH_IXP4XX is not set | ||
| 189 | # CONFIG_ARCH_L7200 is not set | ||
| 190 | # CONFIG_ARCH_DOVE is not set | ||
| 191 | # CONFIG_ARCH_KIRKWOOD is not set | ||
| 192 | # CONFIG_ARCH_LOKI is not set | ||
| 193 | # CONFIG_ARCH_MV78XX0 is not set | ||
| 194 | # CONFIG_ARCH_ORION5X is not set | ||
| 195 | CONFIG_ARCH_MMP=y | ||
| 196 | # CONFIG_ARCH_KS8695 is not set | ||
| 197 | # CONFIG_ARCH_NS9XXX is not set | ||
| 198 | # CONFIG_ARCH_W90X900 is not set | ||
| 199 | # CONFIG_ARCH_PNX4008 is not set | ||
| 200 | # CONFIG_ARCH_PXA is not set | ||
| 201 | # CONFIG_ARCH_MSM is not set | ||
| 202 | # CONFIG_ARCH_RPC is not set | ||
| 203 | # CONFIG_ARCH_SA1100 is not set | ||
| 204 | # CONFIG_ARCH_S3C2410 is not set | ||
| 205 | # CONFIG_ARCH_S3C64XX is not set | ||
| 206 | # CONFIG_ARCH_S5PC1XX is not set | ||
| 207 | # CONFIG_ARCH_SHARK is not set | ||
| 208 | # CONFIG_ARCH_LH7A40X is not set | ||
| 209 | # CONFIG_ARCH_U300 is not set | ||
| 210 | # CONFIG_ARCH_DAVINCI is not set | ||
| 211 | # CONFIG_ARCH_OMAP is not set | ||
| 212 | # CONFIG_ARCH_BCMRING is not set | ||
| 213 | # CONFIG_ARCH_U8500 is not set | ||
| 214 | # CONFIG_MACH_TAVOREVB is not set | ||
| 215 | |||
| 216 | # | ||
| 217 | # Marvell PXA168/910/MMP2 Implmentations | ||
| 218 | # | ||
| 219 | # CONFIG_MACH_ASPENITE is not set | ||
| 220 | # CONFIG_MACH_ZYLONITE2 is not set | ||
| 221 | # CONFIG_MACH_TTC_DKB is not set | ||
| 222 | CONFIG_MACH_FLINT=y | ||
| 223 | CONFIG_CPU_MMP2=y | ||
| 224 | CONFIG_PLAT_PXA=y | ||
| 225 | |||
| 226 | # | ||
| 227 | # Processor Type | ||
| 228 | # | ||
| 229 | CONFIG_CPU_V6=y | ||
| 230 | CONFIG_CPU_32v6K=y | ||
| 231 | CONFIG_CPU_32v6=y | ||
| 232 | CONFIG_CPU_ABRT_EV6=y | ||
| 233 | CONFIG_CPU_PABRT_V6=y | ||
| 234 | CONFIG_CPU_CACHE_V6=y | ||
| 235 | CONFIG_CPU_CACHE_VIPT=y | ||
| 236 | CONFIG_CPU_COPY_V6=y | ||
| 237 | CONFIG_CPU_TLB_V6=y | ||
| 238 | CONFIG_CPU_HAS_ASID=y | ||
| 239 | CONFIG_CPU_CP15=y | ||
| 240 | CONFIG_CPU_CP15_MMU=y | ||
| 241 | |||
| 242 | # | ||
| 243 | # Processor Features | ||
| 244 | # | ||
| 245 | CONFIG_ARM_THUMB=y | ||
| 246 | # CONFIG_CPU_ICACHE_DISABLE is not set | ||
| 247 | # CONFIG_CPU_DCACHE_DISABLE is not set | ||
| 248 | # CONFIG_CPU_BPREDICT_DISABLE is not set | ||
| 249 | CONFIG_ARM_L1_CACHE_SHIFT=5 | ||
| 250 | # CONFIG_ARM_ERRATA_411920 is not set | ||
| 251 | CONFIG_COMMON_CLKDEV=y | ||
| 252 | |||
| 253 | # | ||
| 254 | # Bus support | ||
| 255 | # | ||
| 256 | # CONFIG_PCI_SYSCALL is not set | ||
| 257 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
| 258 | # CONFIG_PCCARD is not set | ||
| 259 | |||
| 260 | # | ||
| 261 | # Kernel Features | ||
| 262 | # | ||
| 263 | CONFIG_TICK_ONESHOT=y | ||
| 264 | # CONFIG_NO_HZ is not set | ||
| 265 | CONFIG_HIGH_RES_TIMERS=y | ||
| 266 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
| 267 | CONFIG_VMSPLIT_3G=y | ||
| 268 | # CONFIG_VMSPLIT_2G is not set | ||
| 269 | # CONFIG_VMSPLIT_1G is not set | ||
| 270 | CONFIG_PAGE_OFFSET=0xC0000000 | ||
| 271 | # CONFIG_PREEMPT_NONE is not set | ||
| 272 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
| 273 | CONFIG_PREEMPT=y | ||
| 274 | CONFIG_HZ=100 | ||
| 275 | CONFIG_AEABI=y | ||
| 276 | CONFIG_OABI_COMPAT=y | ||
| 277 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set | ||
| 278 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set | ||
| 279 | # CONFIG_HIGHMEM is not set | ||
| 280 | CONFIG_SELECT_MEMORY_MODEL=y | ||
| 281 | CONFIG_FLATMEM_MANUAL=y | ||
| 282 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
| 283 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
| 284 | CONFIG_FLATMEM=y | ||
| 285 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
| 286 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
| 287 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
| 288 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
| 289 | CONFIG_ZONE_DMA_FLAG=0 | ||
| 290 | CONFIG_VIRT_TO_BUS=y | ||
| 291 | # CONFIG_KSM is not set | ||
| 292 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
| 293 | CONFIG_ALIGNMENT_TRAP=y | ||
| 294 | # CONFIG_UACCESS_WITH_MEMCPY is not set | ||
| 295 | |||
| 296 | # | ||
| 297 | # Boot options | ||
| 298 | # | ||
| 299 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
| 300 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
| 301 | CONFIG_CMDLINE="root=/dev/nfs rootfstype=nfs nfsroot=192.168.1.100:/nfsroot/ ip=192.168.1.101:192.168.1.100::255.255.255.0::eth0:on console=ttyS0,115200 mem=128M user_debug=255" | ||
| 302 | # CONFIG_XIP_KERNEL is not set | ||
| 303 | # CONFIG_KEXEC is not set | ||
| 304 | |||
| 305 | # | ||
| 306 | # CPU Power Management | ||
| 307 | # | ||
| 308 | # CONFIG_CPU_IDLE is not set | ||
| 309 | |||
| 310 | # | ||
| 311 | # Floating point emulation | ||
| 312 | # | ||
| 313 | |||
| 314 | # | ||
| 315 | # At least one emulation must be selected | ||
| 316 | # | ||
| 317 | # CONFIG_FPE_NWFPE is not set | ||
| 318 | # CONFIG_FPE_FASTFPE is not set | ||
| 319 | CONFIG_VFP=y | ||
| 320 | |||
| 321 | # | ||
| 322 | # Userspace binary formats | ||
| 323 | # | ||
| 324 | CONFIG_BINFMT_ELF=y | ||
| 325 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
| 326 | CONFIG_HAVE_AOUT=y | ||
| 327 | # CONFIG_BINFMT_AOUT is not set | ||
| 328 | # CONFIG_BINFMT_MISC is not set | ||
| 329 | |||
| 330 | # | ||
| 331 | # Power management options | ||
| 332 | # | ||
| 333 | # CONFIG_PM is not set | ||
| 334 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
| 335 | CONFIG_NET=y | ||
| 336 | |||
| 337 | # | ||
| 338 | # Networking options | ||
| 339 | # | ||
| 340 | CONFIG_PACKET=y | ||
| 341 | # CONFIG_PACKET_MMAP is not set | ||
| 342 | CONFIG_UNIX=y | ||
| 343 | CONFIG_XFRM=y | ||
| 344 | # CONFIG_XFRM_USER is not set | ||
| 345 | # CONFIG_XFRM_SUB_POLICY is not set | ||
| 346 | # CONFIG_XFRM_MIGRATE is not set | ||
| 347 | # CONFIG_XFRM_STATISTICS is not set | ||
| 348 | # CONFIG_NET_KEY is not set | ||
| 349 | CONFIG_INET=y | ||
| 350 | # CONFIG_IP_MULTICAST is not set | ||
| 351 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
| 352 | CONFIG_IP_FIB_HASH=y | ||
| 353 | CONFIG_IP_PNP=y | ||
| 354 | # CONFIG_IP_PNP_DHCP is not set | ||
| 355 | # CONFIG_IP_PNP_BOOTP is not set | ||
| 356 | # CONFIG_IP_PNP_RARP is not set | ||
| 357 | # CONFIG_NET_IPIP is not set | ||
| 358 | # CONFIG_NET_IPGRE is not set | ||
| 359 | # CONFIG_ARPD is not set | ||
| 360 | # CONFIG_SYN_COOKIES is not set | ||
| 361 | # CONFIG_INET_AH is not set | ||
| 362 | # CONFIG_INET_ESP is not set | ||
| 363 | # CONFIG_INET_IPCOMP is not set | ||
| 364 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
| 365 | # CONFIG_INET_TUNNEL is not set | ||
| 366 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
| 367 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
| 368 | CONFIG_INET_XFRM_MODE_BEET=y | ||
| 369 | # CONFIG_INET_LRO is not set | ||
| 370 | CONFIG_INET_DIAG=y | ||
| 371 | CONFIG_INET_TCP_DIAG=y | ||
| 372 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
| 373 | CONFIG_TCP_CONG_CUBIC=y | ||
| 374 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
| 375 | # CONFIG_TCP_MD5SIG is not set | ||
| 376 | # CONFIG_IPV6 is not set | ||
| 377 | # CONFIG_NETWORK_SECMARK is not set | ||
| 378 | # CONFIG_NETFILTER is not set | ||
| 379 | # CONFIG_IP_DCCP is not set | ||
| 380 | # CONFIG_IP_SCTP is not set | ||
| 381 | # CONFIG_RDS is not set | ||
| 382 | # CONFIG_TIPC is not set | ||
| 383 | # CONFIG_ATM is not set | ||
| 384 | # CONFIG_BRIDGE is not set | ||
| 385 | # CONFIG_NET_DSA is not set | ||
| 386 | # CONFIG_VLAN_8021Q is not set | ||
| 387 | # CONFIG_DECNET is not set | ||
| 388 | # CONFIG_LLC2 is not set | ||
| 389 | # CONFIG_IPX is not set | ||
| 390 | # CONFIG_ATALK is not set | ||
| 391 | # CONFIG_X25 is not set | ||
| 392 | # CONFIG_LAPB is not set | ||
| 393 | # CONFIG_ECONET is not set | ||
| 394 | # CONFIG_WAN_ROUTER is not set | ||
| 395 | # CONFIG_PHONET is not set | ||
| 396 | # CONFIG_IEEE802154 is not set | ||
| 397 | # CONFIG_NET_SCHED is not set | ||
| 398 | # CONFIG_DCB is not set | ||
| 399 | |||
| 400 | # | ||
| 401 | # Network testing | ||
| 402 | # | ||
| 403 | # CONFIG_NET_PKTGEN is not set | ||
| 404 | # CONFIG_HAMRADIO is not set | ||
| 405 | # CONFIG_CAN is not set | ||
| 406 | # CONFIG_IRDA is not set | ||
| 407 | # CONFIG_BT is not set | ||
| 408 | # CONFIG_AF_RXRPC is not set | ||
| 409 | CONFIG_WIRELESS=y | ||
| 410 | # CONFIG_CFG80211 is not set | ||
| 411 | # CONFIG_LIB80211 is not set | ||
| 412 | |||
| 413 | # | ||
| 414 | # CFG80211 needs to be enabled for MAC80211 | ||
| 415 | # | ||
| 416 | # CONFIG_WIMAX is not set | ||
| 417 | # CONFIG_RFKILL is not set | ||
| 418 | # CONFIG_NET_9P is not set | ||
| 419 | |||
| 420 | # | ||
| 421 | # Device Drivers | ||
| 422 | # | ||
| 423 | |||
| 424 | # | ||
| 425 | # Generic Driver Options | ||
| 426 | # | ||
| 427 | CONFIG_UEVENT_HELPER_PATH="" | ||
| 428 | # CONFIG_DEVTMPFS is not set | ||
| 429 | # CONFIG_STANDALONE is not set | ||
| 430 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set | ||
| 431 | CONFIG_FW_LOADER=y | ||
| 432 | CONFIG_FIRMWARE_IN_KERNEL=y | ||
| 433 | CONFIG_EXTRA_FIRMWARE="" | ||
| 434 | # CONFIG_DEBUG_DRIVER is not set | ||
| 435 | # CONFIG_DEBUG_DEVRES is not set | ||
| 436 | # CONFIG_SYS_HYPERVISOR is not set | ||
| 437 | # CONFIG_CONNECTOR is not set | ||
| 438 | CONFIG_MTD=y | ||
| 439 | # CONFIG_MTD_DEBUG is not set | ||
| 440 | # CONFIG_MTD_TESTS is not set | ||
| 441 | # CONFIG_MTD_CONCAT is not set | ||
| 442 | CONFIG_MTD_PARTITIONS=y | ||
| 443 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
| 444 | CONFIG_MTD_CMDLINE_PARTS=y | ||
| 445 | # CONFIG_MTD_AFS_PARTS is not set | ||
| 446 | # CONFIG_MTD_AR7_PARTS is not set | ||
| 447 | |||
| 448 | # | ||
| 449 | # User Modules And Translation Layers | ||
| 450 | # | ||
| 451 | # CONFIG_MTD_CHAR is not set | ||
| 452 | CONFIG_MTD_BLKDEVS=y | ||
| 453 | CONFIG_MTD_BLOCK=y | ||
| 454 | # CONFIG_FTL is not set | ||
| 455 | # CONFIG_NFTL is not set | ||
| 456 | # CONFIG_INFTL is not set | ||
| 457 | # CONFIG_RFD_FTL is not set | ||
| 458 | # CONFIG_SSFDC is not set | ||
| 459 | # CONFIG_MTD_OOPS is not set | ||
| 460 | |||
| 461 | # | ||
| 462 | # RAM/ROM/Flash chip drivers | ||
| 463 | # | ||
| 464 | # CONFIG_MTD_CFI is not set | ||
| 465 | # CONFIG_MTD_JEDECPROBE is not set | ||
| 466 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
| 467 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
| 468 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
| 469 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
| 470 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
| 471 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
| 472 | CONFIG_MTD_CFI_I1=y | ||
| 473 | CONFIG_MTD_CFI_I2=y | ||
| 474 | # CONFIG_MTD_CFI_I4 is not set | ||
| 475 | # CONFIG_MTD_CFI_I8 is not set | ||
| 476 | # CONFIG_MTD_RAM is not set | ||
| 477 | # CONFIG_MTD_ROM is not set | ||
| 478 | # CONFIG_MTD_ABSENT is not set | ||
| 479 | |||
| 480 | # | ||
| 481 | # Mapping drivers for chip access | ||
| 482 | # | ||
| 483 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
| 484 | # CONFIG_MTD_PLATRAM is not set | ||
| 485 | |||
| 486 | # | ||
| 487 | # Self-contained MTD device drivers | ||
| 488 | # | ||
| 489 | # CONFIG_MTD_SLRAM is not set | ||
| 490 | # CONFIG_MTD_PHRAM is not set | ||
| 491 | # CONFIG_MTD_MTDRAM is not set | ||
| 492 | # CONFIG_MTD_BLOCK2MTD is not set | ||
| 493 | |||
| 494 | # | ||
| 495 | # Disk-On-Chip Device Drivers | ||
| 496 | # | ||
| 497 | # CONFIG_MTD_DOC2000 is not set | ||
| 498 | # CONFIG_MTD_DOC2001 is not set | ||
| 499 | # CONFIG_MTD_DOC2001PLUS is not set | ||
| 500 | CONFIG_MTD_NAND=y | ||
| 501 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | ||
| 502 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
| 503 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | ||
| 504 | # CONFIG_MTD_NAND_GPIO is not set | ||
| 505 | CONFIG_MTD_NAND_IDS=y | ||
| 506 | # CONFIG_MTD_NAND_DISKONCHIP is not set | ||
| 507 | # CONFIG_MTD_NAND_PXA3xx is not set | ||
| 508 | # CONFIG_MTD_NAND_NANDSIM is not set | ||
| 509 | # CONFIG_MTD_NAND_PLATFORM is not set | ||
| 510 | CONFIG_MTD_ONENAND=y | ||
| 511 | # CONFIG_MTD_ONENAND_VERIFY_WRITE is not set | ||
| 512 | CONFIG_MTD_ONENAND_GENERIC=y | ||
| 513 | # CONFIG_MTD_ONENAND_OTP is not set | ||
| 514 | # CONFIG_MTD_ONENAND_2X_PROGRAM is not set | ||
| 515 | # CONFIG_MTD_ONENAND_SIM is not set | ||
| 516 | |||
| 517 | # | ||
| 518 | # LPDDR flash memory drivers | ||
| 519 | # | ||
| 520 | # CONFIG_MTD_LPDDR is not set | ||
| 521 | |||
| 522 | # | ||
| 523 | # UBI - Unsorted block images | ||
| 524 | # | ||
| 525 | # CONFIG_MTD_UBI is not set | ||
| 526 | # CONFIG_PARPORT is not set | ||
| 527 | # CONFIG_BLK_DEV is not set | ||
| 528 | # CONFIG_MISC_DEVICES is not set | ||
| 529 | CONFIG_HAVE_IDE=y | ||
| 530 | # CONFIG_IDE is not set | ||
| 531 | |||
| 532 | # | ||
| 533 | # SCSI device support | ||
| 534 | # | ||
| 535 | # CONFIG_RAID_ATTRS is not set | ||
| 536 | # CONFIG_SCSI is not set | ||
| 537 | # CONFIG_SCSI_DMA is not set | ||
| 538 | # CONFIG_SCSI_NETLINK is not set | ||
| 539 | # CONFIG_ATA is not set | ||
| 540 | # CONFIG_MD is not set | ||
| 541 | CONFIG_NETDEVICES=y | ||
| 542 | # CONFIG_DUMMY is not set | ||
| 543 | # CONFIG_BONDING is not set | ||
| 544 | # CONFIG_MACVLAN is not set | ||
| 545 | # CONFIG_EQUALIZER is not set | ||
| 546 | # CONFIG_TUN is not set | ||
| 547 | # CONFIG_VETH is not set | ||
| 548 | # CONFIG_PHYLIB is not set | ||
| 549 | CONFIG_NET_ETHERNET=y | ||
| 550 | CONFIG_MII=y | ||
| 551 | # CONFIG_AX88796 is not set | ||
| 552 | CONFIG_SMC91X=y | ||
| 553 | # CONFIG_DM9000 is not set | ||
| 554 | # CONFIG_ETHOC is not set | ||
| 555 | # CONFIG_SMC911X is not set | ||
| 556 | # CONFIG_SMSC911X is not set | ||
| 557 | # CONFIG_DNET is not set | ||
| 558 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
| 559 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
| 560 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
| 561 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
| 562 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
| 563 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
| 564 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
| 565 | # CONFIG_B44 is not set | ||
| 566 | # CONFIG_KS8842 is not set | ||
| 567 | # CONFIG_KS8851_MLL is not set | ||
| 568 | # CONFIG_NETDEV_1000 is not set | ||
| 569 | # CONFIG_NETDEV_10000 is not set | ||
| 570 | CONFIG_WLAN=y | ||
| 571 | # CONFIG_HOSTAP is not set | ||
| 572 | |||
| 573 | # | ||
| 574 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
| 575 | # | ||
| 576 | # CONFIG_WAN is not set | ||
| 577 | # CONFIG_PPP is not set | ||
| 578 | # CONFIG_SLIP is not set | ||
| 579 | # CONFIG_NETCONSOLE is not set | ||
| 580 | # CONFIG_NETPOLL is not set | ||
| 581 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
| 582 | # CONFIG_ISDN is not set | ||
| 583 | # CONFIG_PHONE is not set | ||
| 584 | |||
| 585 | # | ||
| 586 | # Input device support | ||
| 587 | # | ||
| 588 | CONFIG_INPUT=y | ||
| 589 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
| 590 | # CONFIG_INPUT_POLLDEV is not set | ||
| 591 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
| 592 | |||
| 593 | # | ||
| 594 | # Userland interfaces | ||
| 595 | # | ||
| 596 | CONFIG_INPUT_MOUSEDEV=y | ||
| 597 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | ||
| 598 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
| 599 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
| 600 | # CONFIG_INPUT_JOYDEV is not set | ||
| 601 | # CONFIG_INPUT_EVDEV is not set | ||
| 602 | # CONFIG_INPUT_EVBUG is not set | ||
| 603 | |||
| 604 | # | ||
| 605 | # Input Device Drivers | ||
| 606 | # | ||
| 607 | # CONFIG_INPUT_KEYBOARD is not set | ||
| 608 | # CONFIG_INPUT_MOUSE is not set | ||
| 609 | # CONFIG_INPUT_JOYSTICK is not set | ||
| 610 | # CONFIG_INPUT_TABLET is not set | ||
| 611 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
| 612 | # CONFIG_INPUT_MISC is not set | ||
| 613 | |||
| 614 | # | ||
| 615 | # Hardware I/O ports | ||
| 616 | # | ||
| 617 | # CONFIG_SERIO is not set | ||
| 618 | # CONFIG_GAMEPORT is not set | ||
| 619 | |||
| 620 | # | ||
| 621 | # Character devices | ||
| 622 | # | ||
| 623 | CONFIG_VT=y | ||
| 624 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
| 625 | CONFIG_VT_CONSOLE=y | ||
| 626 | CONFIG_HW_CONSOLE=y | ||
| 627 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
| 628 | CONFIG_DEVKMEM=y | ||
| 629 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
| 630 | |||
| 631 | # | ||
| 632 | # Serial drivers | ||
| 633 | # | ||
| 634 | # CONFIG_SERIAL_8250 is not set | ||
| 635 | |||
| 636 | # | ||
| 637 | # Non-8250 serial port support | ||
| 638 | # | ||
| 639 | CONFIG_SERIAL_PXA=y | ||
| 640 | CONFIG_SERIAL_PXA_CONSOLE=y | ||
| 641 | CONFIG_SERIAL_CORE=y | ||
| 642 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
| 643 | CONFIG_UNIX98_PTYS=y | ||
| 644 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
| 645 | # CONFIG_LEGACY_PTYS is not set | ||
| 646 | # CONFIG_IPMI_HANDLER is not set | ||
| 647 | # CONFIG_HW_RANDOM is not set | ||
| 648 | # CONFIG_R3964 is not set | ||
| 649 | # CONFIG_RAW_DRIVER is not set | ||
| 650 | # CONFIG_TCG_TPM is not set | ||
| 651 | CONFIG_I2C=y | ||
| 652 | CONFIG_I2C_BOARDINFO=y | ||
| 653 | CONFIG_I2C_COMPAT=y | ||
| 654 | # CONFIG_I2C_CHARDEV is not set | ||
| 655 | CONFIG_I2C_HELPER_AUTO=y | ||
| 656 | |||
| 657 | # | ||
| 658 | # I2C Hardware Bus support | ||
| 659 | # | ||
| 660 | |||
| 661 | # | ||
| 662 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
| 663 | # | ||
| 664 | # CONFIG_I2C_DESIGNWARE is not set | ||
| 665 | # CONFIG_I2C_GPIO is not set | ||
| 666 | # CONFIG_I2C_OCORES is not set | ||
| 667 | CONFIG_I2C_PXA=y | ||
| 668 | # CONFIG_I2C_PXA_SLAVE is not set | ||
| 669 | # CONFIG_I2C_SIMTEC is not set | ||
| 670 | |||
| 671 | # | ||
| 672 | # External I2C/SMBus adapter drivers | ||
| 673 | # | ||
| 674 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
| 675 | # CONFIG_I2C_TAOS_EVM is not set | ||
| 676 | |||
| 677 | # | ||
| 678 | # Other I2C/SMBus bus drivers | ||
| 679 | # | ||
| 680 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
| 681 | # CONFIG_I2C_STUB is not set | ||
| 682 | |||
| 683 | # | ||
| 684 | # Miscellaneous I2C Chip support | ||
| 685 | # | ||
| 686 | # CONFIG_SENSORS_TSL2550 is not set | ||
| 687 | # CONFIG_I2C_DEBUG_CORE is not set | ||
| 688 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
| 689 | # CONFIG_I2C_DEBUG_BUS is not set | ||
| 690 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
| 691 | # CONFIG_SPI is not set | ||
| 692 | |||
| 693 | # | ||
| 694 | # PPS support | ||
| 695 | # | ||
| 696 | # CONFIG_PPS is not set | ||
| 697 | CONFIG_ARCH_REQUIRE_GPIOLIB=y | ||
| 698 | CONFIG_GPIOLIB=y | ||
| 699 | # CONFIG_DEBUG_GPIO is not set | ||
| 700 | # CONFIG_GPIO_SYSFS is not set | ||
| 701 | |||
| 702 | # | ||
| 703 | # Memory mapped GPIO expanders: | ||
| 704 | # | ||
| 705 | |||
| 706 | # | ||
| 707 | # I2C GPIO expanders: | ||
| 708 | # | ||
| 709 | # CONFIG_GPIO_MAX732X is not set | ||
| 710 | # CONFIG_GPIO_PCA953X is not set | ||
| 711 | # CONFIG_GPIO_PCF857X is not set | ||
| 712 | |||
| 713 | # | ||
| 714 | # PCI GPIO expanders: | ||
| 715 | # | ||
| 716 | |||
| 717 | # | ||
| 718 | # SPI GPIO expanders: | ||
| 719 | # | ||
| 720 | |||
| 721 | # | ||
| 722 | # AC97 GPIO expanders: | ||
| 723 | # | ||
| 724 | # CONFIG_W1 is not set | ||
| 725 | # CONFIG_POWER_SUPPLY is not set | ||
| 726 | # CONFIG_HWMON is not set | ||
| 727 | # CONFIG_THERMAL is not set | ||
| 728 | # CONFIG_WATCHDOG is not set | ||
| 729 | CONFIG_SSB_POSSIBLE=y | ||
| 730 | |||
| 731 | # | ||
| 732 | # Sonics Silicon Backplane | ||
| 733 | # | ||
| 734 | # CONFIG_SSB is not set | ||
| 735 | |||
| 736 | # | ||
| 737 | # Multifunction device drivers | ||
| 738 | # | ||
| 739 | CONFIG_MFD_CORE=y | ||
| 740 | # CONFIG_MFD_SM501 is not set | ||
| 741 | # CONFIG_MFD_ASIC3 is not set | ||
| 742 | # CONFIG_HTC_EGPIO is not set | ||
| 743 | # CONFIG_HTC_PASIC3 is not set | ||
| 744 | # CONFIG_TPS65010 is not set | ||
| 745 | # CONFIG_TWL4030_CORE is not set | ||
| 746 | # CONFIG_MFD_TMIO is not set | ||
| 747 | # CONFIG_MFD_T7L66XB is not set | ||
| 748 | # CONFIG_MFD_TC6387XB is not set | ||
| 749 | # CONFIG_MFD_TC6393XB is not set | ||
| 750 | # CONFIG_PMIC_DA903X is not set | ||
| 751 | # CONFIG_PMIC_ADP5520 is not set | ||
| 752 | # CONFIG_MFD_WM8400 is not set | ||
| 753 | # CONFIG_MFD_WM831X is not set | ||
| 754 | # CONFIG_MFD_WM8350_I2C is not set | ||
| 755 | # CONFIG_MFD_PCF50633 is not set | ||
| 756 | # CONFIG_AB3100_CORE is not set | ||
| 757 | CONFIG_MFD_88PM8607=y | ||
| 758 | CONFIG_REGULATOR=y | ||
| 759 | # CONFIG_REGULATOR_DEBUG is not set | ||
| 760 | # CONFIG_REGULATOR_FIXED_VOLTAGE is not set | ||
| 761 | # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set | ||
| 762 | # CONFIG_REGULATOR_USERSPACE_CONSUMER is not set | ||
| 763 | # CONFIG_REGULATOR_BQ24022 is not set | ||
| 764 | # CONFIG_REGULATOR_MAX1586 is not set | ||
| 765 | CONFIG_REGULATOR_MAX8660=y | ||
| 766 | # CONFIG_REGULATOR_LP3971 is not set | ||
| 767 | # CONFIG_REGULATOR_TPS65023 is not set | ||
| 768 | # CONFIG_REGULATOR_TPS6507X is not set | ||
| 769 | CONFIG_REGULATOR_88PM8607=y | ||
| 770 | # CONFIG_MEDIA_SUPPORT is not set | ||
| 771 | |||
| 772 | # | ||
| 773 | # Graphics support | ||
| 774 | # | ||
| 775 | # CONFIG_VGASTATE is not set | ||
| 776 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
| 777 | # CONFIG_FB is not set | ||
| 778 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | ||
| 779 | CONFIG_LCD_CLASS_DEVICE=y | ||
| 780 | # CONFIG_LCD_ILI9320 is not set | ||
| 781 | # CONFIG_LCD_PLATFORM is not set | ||
| 782 | CONFIG_BACKLIGHT_CLASS_DEVICE=y | ||
| 783 | CONFIG_BACKLIGHT_GENERIC=y | ||
| 784 | |||
| 785 | # | ||
| 786 | # Display device support | ||
| 787 | # | ||
| 788 | # CONFIG_DISPLAY_SUPPORT is not set | ||
| 789 | |||
| 790 | # | ||
| 791 | # Console display driver support | ||
| 792 | # | ||
| 793 | # CONFIG_VGA_CONSOLE is not set | ||
| 794 | CONFIG_DUMMY_CONSOLE=y | ||
| 795 | # CONFIG_SOUND is not set | ||
| 796 | # CONFIG_HID_SUPPORT is not set | ||
| 797 | # CONFIG_USB_SUPPORT is not set | ||
| 798 | # CONFIG_MMC is not set | ||
| 799 | # CONFIG_MEMSTICK is not set | ||
| 800 | # CONFIG_NEW_LEDS is not set | ||
| 801 | # CONFIG_ACCESSIBILITY is not set | ||
| 802 | CONFIG_RTC_LIB=y | ||
| 803 | CONFIG_RTC_CLASS=y | ||
| 804 | CONFIG_RTC_HCTOSYS=y | ||
| 805 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
| 806 | # CONFIG_RTC_DEBUG is not set | ||
| 807 | |||
| 808 | # | ||
| 809 | # RTC interfaces | ||
| 810 | # | ||
| 811 | CONFIG_RTC_INTF_SYSFS=y | ||
| 812 | CONFIG_RTC_INTF_PROC=y | ||
| 813 | CONFIG_RTC_INTF_DEV=y | ||
| 814 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
| 815 | # CONFIG_RTC_DRV_TEST is not set | ||
| 816 | |||
| 817 | # | ||
| 818 | # I2C RTC drivers | ||
| 819 | # | ||
| 820 | # CONFIG_RTC_DRV_DS1307 is not set | ||
| 821 | # CONFIG_RTC_DRV_DS1374 is not set | ||
| 822 | # CONFIG_RTC_DRV_DS1672 is not set | ||
| 823 | # CONFIG_RTC_DRV_MAX6900 is not set | ||
| 824 | # CONFIG_RTC_DRV_RS5C372 is not set | ||
| 825 | # CONFIG_RTC_DRV_ISL1208 is not set | ||
| 826 | # CONFIG_RTC_DRV_X1205 is not set | ||
| 827 | # CONFIG_RTC_DRV_PCF8563 is not set | ||
| 828 | # CONFIG_RTC_DRV_PCF8583 is not set | ||
| 829 | # CONFIG_RTC_DRV_M41T80 is not set | ||
| 830 | # CONFIG_RTC_DRV_BQ32K is not set | ||
| 831 | # CONFIG_RTC_DRV_S35390A is not set | ||
| 832 | # CONFIG_RTC_DRV_FM3130 is not set | ||
| 833 | # CONFIG_RTC_DRV_RX8581 is not set | ||
| 834 | # CONFIG_RTC_DRV_RX8025 is not set | ||
| 835 | |||
| 836 | # | ||
| 837 | # SPI RTC drivers | ||
| 838 | # | ||
| 839 | |||
| 840 | # | ||
| 841 | # Platform RTC drivers | ||
| 842 | # | ||
| 843 | # CONFIG_RTC_DRV_CMOS is not set | ||
| 844 | # CONFIG_RTC_DRV_DS1286 is not set | ||
| 845 | # CONFIG_RTC_DRV_DS1511 is not set | ||
| 846 | # CONFIG_RTC_DRV_DS1553 is not set | ||
| 847 | # CONFIG_RTC_DRV_DS1742 is not set | ||
| 848 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
| 849 | # CONFIG_RTC_DRV_M48T86 is not set | ||
| 850 | # CONFIG_RTC_DRV_M48T35 is not set | ||
| 851 | # CONFIG_RTC_DRV_M48T59 is not set | ||
| 852 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
| 853 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
| 854 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
| 855 | # CONFIG_RTC_DRV_V3020 is not set | ||
| 856 | |||
| 857 | # | ||
| 858 | # on-CPU RTC drivers | ||
| 859 | # | ||
| 860 | # CONFIG_DMADEVICES is not set | ||
| 861 | # CONFIG_AUXDISPLAY is not set | ||
| 862 | # CONFIG_UIO is not set | ||
| 863 | |||
| 864 | # | ||
| 865 | # TI VLYNQ | ||
| 866 | # | ||
| 867 | # CONFIG_STAGING is not set | ||
| 868 | |||
| 869 | # | ||
| 870 | # File systems | ||
| 871 | # | ||
| 872 | # CONFIG_EXT2_FS is not set | ||
| 873 | # CONFIG_EXT3_FS is not set | ||
| 874 | # CONFIG_EXT4_FS is not set | ||
| 875 | CONFIG_EXT4_USE_FOR_EXT23=y | ||
| 876 | # CONFIG_REISERFS_FS is not set | ||
| 877 | # CONFIG_JFS_FS is not set | ||
| 878 | CONFIG_FS_POSIX_ACL=y | ||
| 879 | # CONFIG_XFS_FS is not set | ||
| 880 | # CONFIG_GFS2_FS is not set | ||
| 881 | # CONFIG_OCFS2_FS is not set | ||
| 882 | # CONFIG_BTRFS_FS is not set | ||
| 883 | # CONFIG_NILFS2_FS is not set | ||
| 884 | CONFIG_FILE_LOCKING=y | ||
| 885 | CONFIG_FSNOTIFY=y | ||
| 886 | CONFIG_DNOTIFY=y | ||
| 887 | CONFIG_INOTIFY=y | ||
| 888 | CONFIG_INOTIFY_USER=y | ||
| 889 | # CONFIG_QUOTA is not set | ||
| 890 | # CONFIG_AUTOFS_FS is not set | ||
| 891 | # CONFIG_AUTOFS4_FS is not set | ||
| 892 | # CONFIG_FUSE_FS is not set | ||
| 893 | CONFIG_GENERIC_ACL=y | ||
| 894 | |||
| 895 | # | ||
| 896 | # Caches | ||
| 897 | # | ||
| 898 | # CONFIG_FSCACHE is not set | ||
| 899 | |||
| 900 | # | ||
| 901 | # CD-ROM/DVD Filesystems | ||
| 902 | # | ||
| 903 | # CONFIG_ISO9660_FS is not set | ||
| 904 | # CONFIG_UDF_FS is not set | ||
| 905 | |||
| 906 | # | ||
| 907 | # DOS/FAT/NT Filesystems | ||
| 908 | # | ||
| 909 | # CONFIG_MSDOS_FS is not set | ||
| 910 | # CONFIG_VFAT_FS is not set | ||
| 911 | # CONFIG_NTFS_FS is not set | ||
| 912 | |||
| 913 | # | ||
| 914 | # Pseudo filesystems | ||
| 915 | # | ||
| 916 | CONFIG_PROC_FS=y | ||
| 917 | CONFIG_PROC_SYSCTL=y | ||
| 918 | CONFIG_PROC_PAGE_MONITOR=y | ||
| 919 | CONFIG_SYSFS=y | ||
| 920 | CONFIG_TMPFS=y | ||
| 921 | CONFIG_TMPFS_POSIX_ACL=y | ||
| 922 | # CONFIG_HUGETLB_PAGE is not set | ||
| 923 | # CONFIG_CONFIGFS_FS is not set | ||
| 924 | CONFIG_MISC_FILESYSTEMS=y | ||
| 925 | # CONFIG_ADFS_FS is not set | ||
| 926 | # CONFIG_AFFS_FS is not set | ||
| 927 | # CONFIG_HFS_FS is not set | ||
| 928 | # CONFIG_HFSPLUS_FS is not set | ||
| 929 | # CONFIG_BEFS_FS is not set | ||
| 930 | # CONFIG_BFS_FS is not set | ||
| 931 | # CONFIG_EFS_FS is not set | ||
| 932 | CONFIG_JFFS2_FS=y | ||
| 933 | CONFIG_JFFS2_FS_DEBUG=0 | ||
| 934 | CONFIG_JFFS2_FS_WRITEBUFFER=y | ||
| 935 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
| 936 | # CONFIG_JFFS2_SUMMARY is not set | ||
| 937 | # CONFIG_JFFS2_FS_XATTR is not set | ||
| 938 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | ||
| 939 | CONFIG_JFFS2_ZLIB=y | ||
| 940 | # CONFIG_JFFS2_LZO is not set | ||
| 941 | CONFIG_JFFS2_RTIME=y | ||
| 942 | # CONFIG_JFFS2_RUBIN is not set | ||
| 943 | CONFIG_CRAMFS=y | ||
| 944 | # CONFIG_SQUASHFS is not set | ||
| 945 | # CONFIG_VXFS_FS is not set | ||
| 946 | # CONFIG_MINIX_FS is not set | ||
| 947 | # CONFIG_OMFS_FS is not set | ||
| 948 | # CONFIG_HPFS_FS is not set | ||
| 949 | # CONFIG_QNX4FS_FS is not set | ||
| 950 | # CONFIG_ROMFS_FS is not set | ||
| 951 | # CONFIG_SYSV_FS is not set | ||
| 952 | # CONFIG_UFS_FS is not set | ||
| 953 | CONFIG_NETWORK_FILESYSTEMS=y | ||
| 954 | CONFIG_NFS_FS=y | ||
| 955 | CONFIG_NFS_V3=y | ||
| 956 | CONFIG_NFS_V3_ACL=y | ||
| 957 | CONFIG_NFS_V4=y | ||
| 958 | # CONFIG_NFS_V4_1 is not set | ||
| 959 | CONFIG_ROOT_NFS=y | ||
| 960 | # CONFIG_NFSD is not set | ||
| 961 | CONFIG_LOCKD=y | ||
| 962 | CONFIG_LOCKD_V4=y | ||
| 963 | CONFIG_NFS_ACL_SUPPORT=y | ||
| 964 | CONFIG_NFS_COMMON=y | ||
| 965 | CONFIG_SUNRPC=y | ||
| 966 | CONFIG_SUNRPC_GSS=y | ||
| 967 | CONFIG_RPCSEC_GSS_KRB5=y | ||
| 968 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
| 969 | # CONFIG_SMB_FS is not set | ||
| 970 | # CONFIG_CIFS is not set | ||
| 971 | # CONFIG_NCP_FS is not set | ||
| 972 | # CONFIG_CODA_FS is not set | ||
| 973 | # CONFIG_AFS_FS is not set | ||
| 974 | |||
| 975 | # | ||
| 976 | # Partition Types | ||
| 977 | # | ||
| 978 | # CONFIG_PARTITION_ADVANCED is not set | ||
| 979 | CONFIG_MSDOS_PARTITION=y | ||
| 980 | # CONFIG_NLS is not set | ||
| 981 | # CONFIG_DLM is not set | ||
| 982 | |||
| 983 | # | ||
| 984 | # Kernel hacking | ||
| 985 | # | ||
| 986 | CONFIG_PRINTK_TIME=y | ||
| 987 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
| 988 | CONFIG_ENABLE_MUST_CHECK=y | ||
| 989 | CONFIG_FRAME_WARN=1024 | ||
| 990 | CONFIG_MAGIC_SYSRQ=y | ||
| 991 | # CONFIG_STRIP_ASM_SYMS is not set | ||
| 992 | # CONFIG_UNUSED_SYMBOLS is not set | ||
| 993 | # CONFIG_DEBUG_FS is not set | ||
| 994 | # CONFIG_HEADERS_CHECK is not set | ||
| 995 | CONFIG_DEBUG_KERNEL=y | ||
| 996 | # CONFIG_DEBUG_SHIRQ is not set | ||
| 997 | CONFIG_DETECT_SOFTLOCKUP=y | ||
| 998 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | ||
| 999 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | ||
| 1000 | CONFIG_DETECT_HUNG_TASK=y | ||
| 1001 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
| 1002 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
| 1003 | CONFIG_SCHED_DEBUG=y | ||
| 1004 | # CONFIG_SCHEDSTATS is not set | ||
| 1005 | # CONFIG_TIMER_STATS is not set | ||
| 1006 | # CONFIG_DEBUG_OBJECTS is not set | ||
| 1007 | # CONFIG_DEBUG_SLAB is not set | ||
| 1008 | # CONFIG_DEBUG_KMEMLEAK is not set | ||
| 1009 | # CONFIG_DEBUG_PREEMPT is not set | ||
| 1010 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
| 1011 | # CONFIG_RT_MUTEX_TESTER is not set | ||
| 1012 | # CONFIG_DEBUG_SPINLOCK is not set | ||
| 1013 | # CONFIG_DEBUG_MUTEXES is not set | ||
| 1014 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
| 1015 | # CONFIG_PROVE_LOCKING is not set | ||
| 1016 | # CONFIG_LOCK_STAT is not set | ||
| 1017 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
| 1018 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
| 1019 | # CONFIG_DEBUG_KOBJECT is not set | ||
| 1020 | CONFIG_DEBUG_BUGVERBOSE=y | ||
| 1021 | CONFIG_DEBUG_INFO=y | ||
| 1022 | # CONFIG_DEBUG_VM is not set | ||
| 1023 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
| 1024 | CONFIG_DEBUG_MEMORY_INIT=y | ||
| 1025 | # CONFIG_DEBUG_LIST is not set | ||
| 1026 | # CONFIG_DEBUG_SG is not set | ||
| 1027 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
| 1028 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
| 1029 | # CONFIG_BOOT_PRINTK_DELAY is not set | ||
| 1030 | # CONFIG_RCU_TORTURE_TEST is not set | ||
| 1031 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
| 1032 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
| 1033 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
| 1034 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
| 1035 | # CONFIG_FAULT_INJECTION is not set | ||
| 1036 | # CONFIG_LATENCYTOP is not set | ||
| 1037 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
| 1038 | # CONFIG_PAGE_POISONING is not set | ||
| 1039 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
| 1040 | CONFIG_TRACING_SUPPORT=y | ||
| 1041 | CONFIG_FTRACE=y | ||
| 1042 | # CONFIG_FUNCTION_TRACER is not set | ||
| 1043 | # CONFIG_IRQSOFF_TRACER is not set | ||
| 1044 | # CONFIG_PREEMPT_TRACER is not set | ||
| 1045 | # CONFIG_SCHED_TRACER is not set | ||
| 1046 | # CONFIG_ENABLE_DEFAULT_TRACERS is not set | ||
| 1047 | # CONFIG_BOOT_TRACER is not set | ||
| 1048 | CONFIG_BRANCH_PROFILE_NONE=y | ||
| 1049 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
| 1050 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
| 1051 | # CONFIG_STACK_TRACER is not set | ||
| 1052 | # CONFIG_KMEMTRACE is not set | ||
| 1053 | # CONFIG_WORKQUEUE_TRACER is not set | ||
| 1054 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 1055 | # CONFIG_SAMPLES is not set | ||
| 1056 | CONFIG_HAVE_ARCH_KGDB=y | ||
| 1057 | # CONFIG_KGDB is not set | ||
| 1058 | CONFIG_ARM_UNWIND=y | ||
| 1059 | CONFIG_DEBUG_USER=y | ||
| 1060 | CONFIG_DEBUG_ERRORS=y | ||
| 1061 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
| 1062 | CONFIG_DEBUG_LL=y | ||
| 1063 | # CONFIG_EARLY_PRINTK is not set | ||
| 1064 | # CONFIG_DEBUG_ICEDCC is not set | ||
| 1065 | # CONFIG_OC_ETM is not set | ||
| 1066 | |||
| 1067 | # | ||
| 1068 | # Security options | ||
| 1069 | # | ||
| 1070 | # CONFIG_KEYS is not set | ||
| 1071 | # CONFIG_SECURITY is not set | ||
| 1072 | # CONFIG_SECURITYFS is not set | ||
| 1073 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set | ||
| 1074 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
| 1075 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
| 1076 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
| 1077 | CONFIG_DEFAULT_SECURITY="" | ||
| 1078 | CONFIG_CRYPTO=y | ||
| 1079 | |||
| 1080 | # | ||
| 1081 | # Crypto core or helper | ||
| 1082 | # | ||
| 1083 | CONFIG_CRYPTO_ALGAPI=y | ||
| 1084 | CONFIG_CRYPTO_ALGAPI2=y | ||
| 1085 | CONFIG_CRYPTO_AEAD2=y | ||
| 1086 | CONFIG_CRYPTO_BLKCIPHER=y | ||
| 1087 | CONFIG_CRYPTO_BLKCIPHER2=y | ||
| 1088 | CONFIG_CRYPTO_HASH=y | ||
| 1089 | CONFIG_CRYPTO_HASH2=y | ||
| 1090 | CONFIG_CRYPTO_RNG2=y | ||
| 1091 | CONFIG_CRYPTO_PCOMP=y | ||
| 1092 | CONFIG_CRYPTO_MANAGER=y | ||
| 1093 | CONFIG_CRYPTO_MANAGER2=y | ||
| 1094 | # CONFIG_CRYPTO_GF128MUL is not set | ||
| 1095 | # CONFIG_CRYPTO_NULL is not set | ||
| 1096 | CONFIG_CRYPTO_WORKQUEUE=y | ||
| 1097 | # CONFIG_CRYPTO_CRYPTD is not set | ||
| 1098 | # CONFIG_CRYPTO_AUTHENC is not set | ||
| 1099 | # CONFIG_CRYPTO_TEST is not set | ||
| 1100 | |||
| 1101 | # | ||
| 1102 | # Authenticated Encryption with Associated Data | ||
| 1103 | # | ||
| 1104 | # CONFIG_CRYPTO_CCM is not set | ||
| 1105 | # CONFIG_CRYPTO_GCM is not set | ||
| 1106 | # CONFIG_CRYPTO_SEQIV is not set | ||
| 1107 | |||
| 1108 | # | ||
| 1109 | # Block modes | ||
| 1110 | # | ||
| 1111 | CONFIG_CRYPTO_CBC=y | ||
| 1112 | # CONFIG_CRYPTO_CTR is not set | ||
| 1113 | # CONFIG_CRYPTO_CTS is not set | ||
| 1114 | # CONFIG_CRYPTO_ECB is not set | ||
| 1115 | # CONFIG_CRYPTO_LRW is not set | ||
| 1116 | # CONFIG_CRYPTO_PCBC is not set | ||
| 1117 | # CONFIG_CRYPTO_XTS is not set | ||
| 1118 | |||
| 1119 | # | ||
| 1120 | # Hash modes | ||
| 1121 | # | ||
| 1122 | # CONFIG_CRYPTO_HMAC is not set | ||
| 1123 | # CONFIG_CRYPTO_XCBC is not set | ||
| 1124 | # CONFIG_CRYPTO_VMAC is not set | ||
| 1125 | |||
| 1126 | # | ||
| 1127 | # Digest | ||
| 1128 | # | ||
| 1129 | # CONFIG_CRYPTO_CRC32C is not set | ||
| 1130 | # CONFIG_CRYPTO_GHASH is not set | ||
| 1131 | # CONFIG_CRYPTO_MD4 is not set | ||
| 1132 | CONFIG_CRYPTO_MD5=y | ||
| 1133 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
| 1134 | # CONFIG_CRYPTO_RMD128 is not set | ||
| 1135 | # CONFIG_CRYPTO_RMD160 is not set | ||
| 1136 | # CONFIG_CRYPTO_RMD256 is not set | ||
| 1137 | # CONFIG_CRYPTO_RMD320 is not set | ||
| 1138 | # CONFIG_CRYPTO_SHA1 is not set | ||
| 1139 | # CONFIG_CRYPTO_SHA256 is not set | ||
| 1140 | # CONFIG_CRYPTO_SHA512 is not set | ||
| 1141 | # CONFIG_CRYPTO_TGR192 is not set | ||
| 1142 | # CONFIG_CRYPTO_WP512 is not set | ||
| 1143 | |||
| 1144 | # | ||
| 1145 | # Ciphers | ||
| 1146 | # | ||
| 1147 | # CONFIG_CRYPTO_AES is not set | ||
| 1148 | # CONFIG_CRYPTO_ANUBIS is not set | ||
| 1149 | # CONFIG_CRYPTO_ARC4 is not set | ||
| 1150 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
| 1151 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
| 1152 | # CONFIG_CRYPTO_CAST5 is not set | ||
| 1153 | # CONFIG_CRYPTO_CAST6 is not set | ||
| 1154 | CONFIG_CRYPTO_DES=y | ||
| 1155 | # CONFIG_CRYPTO_FCRYPT is not set | ||
| 1156 | # CONFIG_CRYPTO_KHAZAD is not set | ||
| 1157 | # CONFIG_CRYPTO_SALSA20 is not set | ||
| 1158 | # CONFIG_CRYPTO_SEED is not set | ||
| 1159 | # CONFIG_CRYPTO_SERPENT is not set | ||
| 1160 | # CONFIG_CRYPTO_TEA is not set | ||
| 1161 | # CONFIG_CRYPTO_TWOFISH is not set | ||
| 1162 | |||
| 1163 | # | ||
| 1164 | # Compression | ||
| 1165 | # | ||
| 1166 | # CONFIG_CRYPTO_DEFLATE is not set | ||
| 1167 | # CONFIG_CRYPTO_ZLIB is not set | ||
| 1168 | # CONFIG_CRYPTO_LZO is not set | ||
| 1169 | |||
| 1170 | # | ||
| 1171 | # Random Number Generation | ||
| 1172 | # | ||
| 1173 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
| 1174 | CONFIG_CRYPTO_HW=y | ||
| 1175 | # CONFIG_BINARY_PRINTF is not set | ||
| 1176 | |||
| 1177 | # | ||
| 1178 | # Library routines | ||
| 1179 | # | ||
| 1180 | CONFIG_BITREVERSE=y | ||
| 1181 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
| 1182 | CONFIG_CRC_CCITT=y | ||
| 1183 | # CONFIG_CRC16 is not set | ||
| 1184 | # CONFIG_CRC_T10DIF is not set | ||
| 1185 | # CONFIG_CRC_ITU_T is not set | ||
| 1186 | CONFIG_CRC32=y | ||
| 1187 | # CONFIG_CRC7 is not set | ||
| 1188 | # CONFIG_LIBCRC32C is not set | ||
| 1189 | CONFIG_ZLIB_INFLATE=y | ||
| 1190 | CONFIG_ZLIB_DEFLATE=y | ||
| 1191 | CONFIG_HAS_IOMEM=y | ||
| 1192 | CONFIG_HAS_IOPORT=y | ||
| 1193 | CONFIG_HAS_DMA=y | ||
| 1194 | CONFIG_NLATTR=y | ||
| @@ -176,6 +176,7 @@ CONFIG_ARCH_MV78XX0=y · 175 unmodified lines | |||
| 176 | # | 176 | # |
| 177 | CONFIG_MACH_DB78X00_BP=y | 177 | CONFIG_MACH_DB78X00_BP=y |
| 178 | CONFIG_MACH_RD78X00_MASA=y | 178 | CONFIG_MACH_RD78X00_MASA=y |
| 179 | CONFIG_MACH_TERASTATION_WXL=y | ||
| 179 | CONFIG_PLAT_ORION=y | 180 | CONFIG_PLAT_ORION=y |
| 180 | 181 | ||
| 181 | # | 182 | # |
| @@ -1,742 +0,0 @@ | |||
| 1 | # | ||
| 2 | # Automatically generated make config: don't edit | ||
| 3 | # Linux kernel version: 2.6.12-rc1-bk2 | ||
| 4 | # Sun Mar 27 02:15:46 2005 | ||
| 5 | # | ||
| 6 | CONFIG_ARM=y | ||
| 7 | CONFIG_MMU=y | ||
| 8 | CONFIG_UID16=y | ||
| 9 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
| 10 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
| 11 | CONFIG_GENERIC_IOMAP=y | ||
| 12 | |||
| 13 | # | ||
| 14 | # Code maturity level options | ||
| 15 | # | ||
| 16 | CONFIG_EXPERIMENTAL=y | ||
| 17 | CONFIG_CLEAN_COMPILE=y | ||
| 18 | CONFIG_BROKEN_ON_SMP=y | ||
| 19 | CONFIG_LOCK_KERNEL=y | ||
| 20 | |||
| 21 | # | ||
| 22 | # General setup | ||
| 23 | # | ||
| 24 | CONFIG_LOCALVERSION="" | ||
| 25 | CONFIG_SWAP=y | ||
| 26 | CONFIG_SYSVIPC=y | ||
| 27 | # CONFIG_POSIX_MQUEUE is not set | ||
| 28 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
| 29 | # CONFIG_SYSCTL is not set | ||
| 30 | # CONFIG_AUDIT is not set | ||
| 31 | # CONFIG_HOTPLUG is not set | ||
| 32 | CONFIG_KOBJECT_UEVENT=y | ||
| 33 | # CONFIG_IKCONFIG is not set | ||
| 34 | CONFIG_EMBEDDED=y | ||
| 35 | # CONFIG_KALLSYMS is not set | ||
| 36 | CONFIG_BASE_FULL=y | ||
| 37 | CONFIG_FUTEX=y | ||
| 38 | CONFIG_EPOLL=y | ||
| 39 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
| 40 | CONFIG_SHMEM=y | ||
| 41 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 42 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 43 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 44 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 45 | # CONFIG_TINY_SHMEM is not set | ||
| 46 | CONFIG_BASE_SMALL=0 | ||
| 47 | |||
| 48 | # | ||
| 49 | # Loadable module support | ||
| 50 | # | ||
| 51 | CONFIG_MODULES=y | ||
| 52 | CONFIG_MODULE_UNLOAD=y | ||
| 53 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
| 54 | CONFIG_OBSOLETE_MODPARM=y | ||
| 55 | # CONFIG_MODVERSIONS is not set | ||
| 56 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
| 57 | CONFIG_KMOD=y | ||
| 58 | |||
| 59 | # | ||
| 60 | # System Type | ||
| 61 | # | ||
| 62 | # CONFIG_ARCH_CLPS7500 is not set | ||
| 63 | # CONFIG_ARCH_CLPS711X is not set | ||
| 64 | # CONFIG_ARCH_CO285 is not set | ||
| 65 | # CONFIG_ARCH_EBSA110 is not set | ||
| 66 | # CONFIG_ARCH_FOOTBRIDGE is not set | ||
| 67 | # CONFIG_ARCH_INTEGRATOR is not set | ||
| 68 | # CONFIG_ARCH_IOP3XX is not set | ||
| 69 | # CONFIG_ARCH_IXP4XX is not set | ||
| 70 | # CONFIG_ARCH_IXP2000 is not set | ||
| 71 | # CONFIG_ARCH_L7200 is not set | ||
| 72 | # CONFIG_ARCH_PXA is not set | ||
| 73 | # CONFIG_ARCH_RPC is not set | ||
| 74 | # CONFIG_ARCH_SA1100 is not set | ||
| 75 | # CONFIG_ARCH_S3C2410 is not set | ||
| 76 | # CONFIG_ARCH_SHARK is not set | ||
| 77 | # CONFIG_ARCH_LH7A40X is not set | ||
| 78 | # CONFIG_ARCH_OMAP is not set | ||
| 79 | # CONFIG_ARCH_VERSATILE is not set | ||
| 80 | CONFIG_ARCH_IMX=y | ||
| 81 | # CONFIG_ARCH_H720X is not set | ||
| 82 | |||
| 83 | # | ||
| 84 | # IMX Implementations | ||
| 85 | # | ||
| 86 | CONFIG_ARCH_MX1ADS=y | ||
| 87 | |||
| 88 | # | ||
| 89 | # Processor Type | ||
| 90 | # | ||
| 91 | CONFIG_CPU_ARM920T=y | ||
| 92 | CONFIG_CPU_32v4=y | ||
| 93 | CONFIG_CPU_ABRT_EV4T=y | ||
| 94 | CONFIG_CPU_CACHE_V4WT=y | ||
| 95 | CONFIG_CPU_CACHE_VIVT=y | ||
| 96 | CONFIG_CPU_COPY_V4WB=y | ||
| 97 | CONFIG_CPU_TLB_V4WBI=y | ||
| 98 | |||
| 99 | # | ||
| 100 | # Processor Features | ||
| 101 | # | ||
| 102 | # CONFIG_ARM_THUMB is not set | ||
| 103 | # CONFIG_CPU_ICACHE_DISABLE is not set | ||
| 104 | # CONFIG_CPU_DCACHE_DISABLE is not set | ||
| 105 | # CONFIG_CPU_DCACHE_WRITETHROUGH is not set | ||
| 106 | |||
| 107 | # | ||
| 108 | # Bus support | ||
| 109 | # | ||
| 110 | CONFIG_ISA=y | ||
| 111 | |||
| 112 | # | ||
| 113 | # PCCARD (PCMCIA/CardBus) support | ||
| 114 | # | ||
| 115 | # CONFIG_PCCARD is not set | ||
| 116 | |||
| 117 | # | ||
| 118 | # Kernel Features | ||
| 119 | # | ||
| 120 | CONFIG_PREEMPT=y | ||
| 121 | # CONFIG_LEDS is not set | ||
| 122 | CONFIG_ALIGNMENT_TRAP=y | ||
| 123 | |||
| 124 | # | ||
| 125 | # Boot options | ||
| 126 | # | ||
| 127 | CONFIG_ZBOOT_ROM_TEXT=0x0 | ||
| 128 | CONFIG_ZBOOT_ROM_BSS=0x0 | ||
| 129 | CONFIG_CMDLINE="console=ttySMX0,57600n8 ip=bootp root=/dev/nfs" | ||
| 130 | # CONFIG_XIP_KERNEL is not set | ||
| 131 | |||
| 132 | # | ||
| 133 | # Floating point emulation | ||
| 134 | # | ||
| 135 | |||
| 136 | # | ||
| 137 | # At least one emulation must be selected | ||
| 138 | # | ||
| 139 | CONFIG_FPE_NWFPE=y | ||
| 140 | CONFIG_FPE_NWFPE_XP=y | ||
| 141 | CONFIG_FPE_FASTFPE=y | ||
| 142 | |||
| 143 | # | ||
| 144 | # Userspace binary formats | ||
| 145 | # | ||
| 146 | CONFIG_BINFMT_ELF=y | ||
| 147 | # CONFIG_BINFMT_AOUT is not set | ||
| 148 | # CONFIG_BINFMT_MISC is not set | ||
| 149 | # CONFIG_ARTHUR is not set | ||
| 150 | |||
| 151 | # | ||
| 152 | # Power management options | ||
| 153 | # | ||
| 154 | # CONFIG_PM is not set | ||
| 155 | |||
| 156 | # | ||
| 157 | # Device Drivers | ||
| 158 | # | ||
| 159 | |||
| 160 | # | ||
| 161 | # Generic Driver Options | ||
| 162 | # | ||
| 163 | CONFIG_STANDALONE=y | ||
| 164 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
| 165 | # CONFIG_FW_LOADER is not set | ||
| 166 | # CONFIG_DEBUG_DRIVER is not set | ||
| 167 | |||
| 168 | # | ||
| 169 | # Memory Technology Devices (MTD) | ||
| 170 | # | ||
| 171 | CONFIG_MTD=y | ||
| 172 | # CONFIG_MTD_DEBUG is not set | ||
| 173 | # CONFIG_MTD_CONCAT is not set | ||
| 174 | CONFIG_MTD_PARTITIONS=y | ||
| 175 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
| 176 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
| 177 | # CONFIG_MTD_AFS_PARTS is not set | ||
| 178 | |||
| 179 | # | ||
| 180 | # User Modules And Translation Layers | ||
| 181 | # | ||
| 182 | CONFIG_MTD_CHAR=y | ||
| 183 | CONFIG_MTD_BLOCK=y | ||
| 184 | # CONFIG_FTL is not set | ||
| 185 | # CONFIG_NFTL is not set | ||
| 186 | # CONFIG_INFTL is not set | ||
| 187 | |||
| 188 | # | ||
| 189 | # RAM/ROM/Flash chip drivers | ||
| 190 | # | ||
| 191 | # CONFIG_MTD_CFI is not set | ||
| 192 | # CONFIG_MTD_JEDECPROBE is not set | ||
| 193 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
| 194 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
| 195 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
| 196 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
| 197 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
| 198 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
| 199 | CONFIG_MTD_CFI_I1=y | ||
| 200 | CONFIG_MTD_CFI_I2=y | ||
| 201 | # CONFIG_MTD_CFI_I4 is not set | ||
| 202 | # CONFIG_MTD_CFI_I8 is not set | ||
| 203 | # CONFIG_MTD_RAM is not set | ||
| 204 | CONFIG_MTD_ROM=y | ||
| 205 | # CONFIG_MTD_ABSENT is not set | ||
| 206 | |||
| 207 | # | ||
| 208 | # Mapping drivers for chip access | ||
| 209 | # | ||
| 210 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
| 211 | |||
| 212 | # | ||
| 213 | # Self-contained MTD device drivers | ||
| 214 | # | ||
| 215 | # CONFIG_MTD_SLRAM is not set | ||
| 216 | # CONFIG_MTD_PHRAM is not set | ||
| 217 | # CONFIG_MTD_MTDRAM is not set | ||
| 218 | # CONFIG_MTD_BLKMTD is not set | ||
| 219 | # CONFIG_MTD_BLOCK2MTD is not set | ||
| 220 | |||
| 221 | # | ||
| 222 | # Disk-On-Chip Device Drivers | ||
| 223 | # | ||
| 224 | # CONFIG_MTD_DOC2000 is not set | ||
| 225 | # CONFIG_MTD_DOC2001 is not set | ||
| 226 | # CONFIG_MTD_DOC2001PLUS is not set | ||
| 227 | |||
| 228 | # | ||
| 229 | # NAND Flash Device Drivers | ||
| 230 | # | ||
| 231 | # CONFIG_MTD_NAND is not set | ||
| 232 | |||
| 233 | # | ||
| 234 | # Parallel port support | ||
| 235 | # | ||
| 236 | # CONFIG_PARPORT is not set | ||
| 237 | |||
| 238 | # | ||
| 239 | # Plug and Play support | ||
| 240 | # | ||
| 241 | # CONFIG_PNP is not set | ||
| 242 | |||
| 243 | # | ||
| 244 | # Block devices | ||
| 245 | # | ||
| 246 | # CONFIG_BLK_DEV_FD is not set | ||
| 247 | # CONFIG_BLK_DEV_XD is not set | ||
| 248 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
| 249 | CONFIG_BLK_DEV_LOOP=y | ||
| 250 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
| 251 | # CONFIG_BLK_DEV_NBD is not set | ||
| 252 | # CONFIG_BLK_DEV_RAM is not set | ||
| 253 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
| 254 | CONFIG_INITRAMFS_SOURCE="" | ||
| 255 | # CONFIG_CDROM_PKTCDVD is not set | ||
| 256 | |||
| 257 | # | ||
| 258 | # IO Schedulers | ||
| 259 | # | ||
| 260 | CONFIG_IOSCHED_NOOP=y | ||
| 261 | # CONFIG_IOSCHED_AS is not set | ||
| 262 | CONFIG_IOSCHED_DEADLINE=y | ||
| 263 | CONFIG_IOSCHED_CFQ=y | ||
| 264 | # CONFIG_ATA_OVER_ETH is not set | ||
| 265 | |||
| 266 | # | ||
| 267 | # SCSI device support | ||
| 268 | # | ||
| 269 | # CONFIG_SCSI is not set | ||
| 270 | |||
| 271 | # | ||
| 272 | # Multi-device support (RAID and LVM) | ||
| 273 | # | ||
| 274 | # CONFIG_MD is not set | ||
| 275 | |||
| 276 | # | ||
| 277 | # Fusion MPT device support | ||
| 278 | # | ||
| 279 | |||
| 280 | # | ||
| 281 | # IEEE 1394 (FireWire) support | ||
| 282 | # | ||
| 283 | |||
| 284 | # | ||
| 285 | # I2O device support | ||
| 286 | # | ||
| 287 | |||
| 288 | # | ||
| 289 | # Networking support | ||
| 290 | # | ||
| 291 | CONFIG_NET=y | ||
| 292 | |||
| 293 | # | ||
| 294 | # Networking options | ||
| 295 | # | ||
| 296 | CONFIG_PACKET=m | ||
| 297 | CONFIG_PACKET_MMAP=y | ||
| 298 | # CONFIG_NETLINK_DEV is not set | ||
| 299 | CONFIG_UNIX=y | ||
| 300 | # CONFIG_NET_KEY is not set | ||
| 301 | CONFIG_INET=y | ||
| 302 | # CONFIG_IP_MULTICAST is not set | ||
| 303 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
| 304 | CONFIG_IP_PNP=y | ||
| 305 | CONFIG_IP_PNP_DHCP=y | ||
| 306 | CONFIG_IP_PNP_BOOTP=y | ||
| 307 | # CONFIG_IP_PNP_RARP is not set | ||
| 308 | # CONFIG_NET_IPIP is not set | ||
| 309 | # CONFIG_NET_IPGRE is not set | ||
| 310 | # CONFIG_ARPD is not set | ||
| 311 | # CONFIG_SYN_COOKIES is not set | ||
| 312 | # CONFIG_INET_AH is not set | ||
| 313 | # CONFIG_INET_ESP is not set | ||
| 314 | # CONFIG_INET_IPCOMP is not set | ||
| 315 | # CONFIG_INET_TUNNEL is not set | ||
| 316 | CONFIG_IP_TCPDIAG=y | ||
| 317 | # CONFIG_IP_TCPDIAG_IPV6 is not set | ||
| 318 | # CONFIG_IPV6 is not set | ||
| 319 | # CONFIG_NETFILTER is not set | ||
| 320 | |||
| 321 | # | ||
| 322 | # SCTP Configuration (EXPERIMENTAL) | ||
| 323 | # | ||
| 324 | # CONFIG_IP_SCTP is not set | ||
| 325 | # CONFIG_ATM is not set | ||
| 326 | # CONFIG_BRIDGE is not set | ||
| 327 | # CONFIG_VLAN_8021Q is not set | ||
| 328 | # CONFIG_DECNET is not set | ||
| 329 | # CONFIG_LLC2 is not set | ||
| 330 | # CONFIG_IPX is not set | ||
| 331 | # CONFIG_ATALK is not set | ||
| 332 | # CONFIG_X25 is not set | ||
| 333 | # CONFIG_LAPB is not set | ||
| 334 | # CONFIG_NET_DIVERT is not set | ||
| 335 | # CONFIG_ECONET is not set | ||
| 336 | # CONFIG_WAN_ROUTER is not set | ||
| 337 | |||
| 338 | # | ||
| 339 | # QoS and/or fair queueing | ||
| 340 | # | ||
| 341 | # CONFIG_NET_SCHED is not set | ||
| 342 | # CONFIG_NET_CLS_ROUTE is not set | ||
| 343 | |||
| 344 | # | ||
| 345 | # Network testing | ||
| 346 | # | ||
| 347 | # CONFIG_NET_PKTGEN is not set | ||
| 348 | # CONFIG_NETPOLL is not set | ||
| 349 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
| 350 | # CONFIG_HAMRADIO is not set | ||
| 351 | # CONFIG_IRDA is not set | ||
| 352 | # CONFIG_BT is not set | ||
| 353 | CONFIG_NETDEVICES=y | ||
| 354 | # CONFIG_DUMMY is not set | ||
| 355 | # CONFIG_BONDING is not set | ||
| 356 | # CONFIG_EQUALIZER is not set | ||
| 357 | # CONFIG_TUN is not set | ||
| 358 | |||
| 359 | # | ||
| 360 | # ARCnet devices | ||
| 361 | # | ||
| 362 | # CONFIG_ARCNET is not set | ||
| 363 | |||
| 364 | # | ||
| 365 | # Ethernet (10 or 100Mbit) | ||
| 366 | # | ||
| 367 | CONFIG_NET_ETHERNET=y | ||
| 368 | CONFIG_MII=y | ||
| 369 | # CONFIG_NET_VENDOR_3COM is not set | ||
| 370 | # CONFIG_LANCE is not set | ||
| 371 | # CONFIG_NET_VENDOR_SMC is not set | ||
| 372 | # CONFIG_SMC91X is not set | ||
| 373 | # CONFIG_NET_VENDOR_RACAL is not set | ||
| 374 | # CONFIG_AT1700 is not set | ||
| 375 | # CONFIG_DEPCA is not set | ||
| 376 | # CONFIG_HP100 is not set | ||
| 377 | # CONFIG_NET_ISA is not set | ||
| 378 | # CONFIG_NET_PCI is not set | ||
| 379 | # CONFIG_NET_POCKET is not set | ||
| 380 | |||
| 381 | # | ||
| 382 | # Ethernet (1000 Mbit) | ||
| 383 | # | ||
| 384 | |||
| 385 | # | ||
| 386 | # Ethernet (10000 Mbit) | ||
| 387 | # | ||
| 388 | |||
| 389 | # | ||
| 390 | # Token Ring devices | ||
| 391 | # | ||
| 392 | # CONFIG_TR is not set | ||
| 393 | |||
| 394 | # | ||
| 395 | # Wireless LAN (non-hamradio) | ||
| 396 | # | ||
| 397 | # CONFIG_NET_RADIO is not set | ||
| 398 | |||
| 399 | # | ||
| 400 | # Wan interfaces | ||
| 401 | # | ||
| 402 | # CONFIG_WAN is not set | ||
| 403 | CONFIG_PPP=y | ||
| 404 | # CONFIG_PPP_MULTILINK is not set | ||
| 405 | CONFIG_PPP_FILTER=y | ||
| 406 | CONFIG_PPP_ASYNC=y | ||
| 407 | # CONFIG_PPP_SYNC_TTY is not set | ||
| 408 | CONFIG_PPP_DEFLATE=y | ||
| 409 | CONFIG_PPP_BSDCOMP=y | ||
| 410 | # CONFIG_PPPOE is not set | ||
| 411 | # CONFIG_SLIP is not set | ||
| 412 | # CONFIG_SHAPER is not set | ||
| 413 | # CONFIG_NETCONSOLE is not set | ||
| 414 | |||
| 415 | # | ||
| 416 | # ISDN subsystem | ||
| 417 | # | ||
| 418 | # CONFIG_ISDN is not set | ||
| 419 | |||
| 420 | # | ||
| 421 | # Input device support | ||
| 422 | # | ||
| 423 | # CONFIG_INPUT is not set | ||
| 424 | |||
| 425 | # | ||
| 426 | # Hardware I/O ports | ||
| 427 | # | ||
| 428 | # CONFIG_SERIO is not set | ||
| 429 | # CONFIG_GAMEPORT is not set | ||
| 430 | CONFIG_SOUND_GAMEPORT=y | ||
| 431 | |||
| 432 | # | ||
| 433 | # Character devices | ||
| 434 | # | ||
| 435 | # CONFIG_VT is not set | ||
| 436 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
| 437 | |||
| 438 | # | ||
| 439 | # Serial drivers | ||
| 440 | # | ||
| 441 | # CONFIG_SERIAL_8250 is not set | ||
| 442 | |||
| 443 | # | ||
| 444 | # Non-8250 serial port support | ||
| 445 | # | ||
| 446 | CONFIG_SERIAL_IMX=y | ||
| 447 | CONFIG_SERIAL_IMX_CONSOLE=y | ||
| 448 | CONFIG_SERIAL_CORE=y | ||
| 449 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
| 450 | CONFIG_UNIX98_PTYS=y | ||
| 451 | # CONFIG_LEGACY_PTYS is not set | ||
| 452 | |||
| 453 | # | ||
| 454 | # IPMI | ||
| 455 | # | ||
| 456 | # CONFIG_IPMI_HANDLER is not set | ||
| 457 | |||
| 458 | # | ||
| 459 | # Watchdog Cards | ||
| 460 | # | ||
| 461 | # CONFIG_WATCHDOG is not set | ||
| 462 | # CONFIG_NVRAM is not set | ||
| 463 | CONFIG_RTC=m | ||
| 464 | # CONFIG_DTLK is not set | ||
| 465 | # CONFIG_R3964 is not set | ||
| 466 | |||
| 467 | # | ||
| 468 | # Ftape, the floppy tape device driver | ||
| 469 | # | ||
| 470 | # CONFIG_DRM is not set | ||
| 471 | # CONFIG_RAW_DRIVER is not set | ||
| 472 | |||
| 473 | # | ||
| 474 | # TPM devices | ||
| 475 | # | ||
| 476 | # CONFIG_TCG_TPM is not set | ||
| 477 | |||
| 478 | # | ||
| 479 | # I2C support | ||
| 480 | # | ||
| 481 | # CONFIG_I2C is not set | ||
| 482 | |||
| 483 | # | ||
| 484 | # Misc devices | ||
| 485 | # | ||
| 486 | |||
| 487 | # | ||
| 488 | # Multimedia devices | ||
| 489 | # | ||
| 490 | # CONFIG_VIDEO_DEV is not set | ||
| 491 | |||
| 492 | # | ||
| 493 | # Digital Video Broadcasting Devices | ||
| 494 | # | ||
| 495 | # CONFIG_DVB is not set | ||
| 496 | |||
| 497 | # | ||
| 498 | # Graphics support | ||
| 499 | # | ||
| 500 | # CONFIG_FB is not set | ||
| 501 | |||
| 502 | # | ||
| 503 | # Sound | ||
| 504 | # | ||
| 505 | # CONFIG_SOUND is not set | ||
| 506 | |||
| 507 | # | ||
| 508 | # USB support | ||
| 509 | # | ||
| 510 | CONFIG_USB_ARCH_HAS_HCD=y | ||
| 511 | # CONFIG_USB_ARCH_HAS_OHCI is not set | ||
| 512 | # CONFIG_USB is not set | ||
| 513 | |||
| 514 | # | ||
| 515 | # USB Gadget Support | ||
| 516 | # | ||
| 517 | # CONFIG_USB_GADGET is not set | ||
| 518 | |||
| 519 | # | ||
| 520 | # MMC/SD Card support | ||
| 521 | # | ||
| 522 | # CONFIG_MMC is not set | ||
| 523 | |||
| 524 | # | ||
| 525 | # File systems | ||
| 526 | # | ||
| 527 | # CONFIG_EXT2_FS is not set | ||
| 528 | # CONFIG_EXT3_FS is not set | ||
| 529 | # CONFIG_JBD is not set | ||
| 530 | # CONFIG_REISERFS_FS is not set | ||
| 531 | # CONFIG_JFS_FS is not set | ||
| 532 | |||
| 533 | # | ||
| 534 | # XFS support | ||
| 535 | # | ||
| 536 | # CONFIG_XFS_FS is not set | ||
| 537 | # CONFIG_MINIX_FS is not set | ||
| 538 | # CONFIG_ROMFS_FS is not set | ||
| 539 | # CONFIG_QUOTA is not set | ||
| 540 | CONFIG_DNOTIFY=y | ||
| 541 | # CONFIG_AUTOFS_FS is not set | ||
| 542 | # CONFIG_AUTOFS4_FS is not set | ||
| 543 | |||
| 544 | # | ||
| 545 | # CD-ROM/DVD Filesystems | ||
| 546 | # | ||
| 547 | # CONFIG_ISO9660_FS is not set | ||
| 548 | # CONFIG_UDF_FS is not set | ||
| 549 | |||
| 550 | # | ||
| 551 | # DOS/FAT/NT Filesystems | ||
| 552 | # | ||
| 553 | CONFIG_FAT_FS=y | ||
| 554 | CONFIG_MSDOS_FS=y | ||
| 555 | CONFIG_VFAT_FS=y | ||
| 556 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
| 557 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
| 558 | # CONFIG_NTFS_FS is not set | ||
| 559 | |||
| 560 | # | ||
| 561 | # Pseudo filesystems | ||
| 562 | # | ||
| 563 | CONFIG_PROC_FS=y | ||
| 564 | CONFIG_SYSFS=y | ||
| 565 | CONFIG_DEVFS_FS=y | ||
| 566 | CONFIG_DEVFS_MOUNT=y | ||
| 567 | # CONFIG_DEVFS_DEBUG is not set | ||
| 568 | # CONFIG_DEVPTS_FS_XATTR is not set | ||
| 569 | CONFIG_TMPFS=y | ||
| 570 | # CONFIG_TMPFS_XATTR is not set | ||
| 571 | # CONFIG_HUGETLB_PAGE is not set | ||
| 572 | CONFIG_RAMFS=y | ||
| 573 | |||
| 574 | # | ||
| 575 | # Miscellaneous filesystems | ||
| 576 | # | ||
| 577 | # CONFIG_ADFS_FS is not set | ||
| 578 | # CONFIG_AFFS_FS is not set | ||
| 579 | # CONFIG_HFS_FS is not set | ||
| 580 | # CONFIG_HFSPLUS_FS is not set | ||
| 581 | # CONFIG_BEFS_FS is not set | ||
| 582 | # CONFIG_BFS_FS is not set | ||
| 583 | # CONFIG_EFS_FS is not set | ||
| 584 | # CONFIG_JFFS_FS is not set | ||
| 585 | CONFIG_JFFS2_FS=y | ||
| 586 | CONFIG_JFFS2_FS_DEBUG=0 | ||
| 587 | # CONFIG_JFFS2_FS_NAND is not set | ||
| 588 | # CONFIG_JFFS2_FS_NOR_ECC is not set | ||
| 589 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | ||
| 590 | CONFIG_JFFS2_ZLIB=y | ||
| 591 | CONFIG_JFFS2_RTIME=y | ||
| 592 | # CONFIG_JFFS2_RUBIN is not set | ||
| 593 | CONFIG_CRAMFS=y | ||
| 594 | # CONFIG_VXFS_FS is not set | ||
| 595 | # CONFIG_HPFS_FS is not set | ||
| 596 | # CONFIG_QNX4FS_FS is not set | ||
| 597 | # CONFIG_SYSV_FS is not set | ||
| 598 | # CONFIG_UFS_FS is not set | ||
| 599 | |||
| 600 | # | ||
| 601 | # Network File Systems | ||
| 602 | # | ||
| 603 | CONFIG_NFS_FS=y | ||
| 604 | CONFIG_NFS_V3=y | ||
| 605 | # CONFIG_NFS_V4 is not set | ||
| 606 | # CONFIG_NFS_DIRECTIO is not set | ||
| 607 | # CONFIG_NFSD is not set | ||
| 608 | CONFIG_ROOT_NFS=y | ||
| 609 | CONFIG_LOCKD=y | ||
| 610 | CONFIG_LOCKD_V4=y | ||
| 611 | CONFIG_SUNRPC=y | ||
| 612 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
| 613 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
| 614 | # CONFIG_SMB_FS is not set | ||
| 615 | # CONFIG_CIFS is not set | ||
| 616 | # CONFIG_NCP_FS is not set | ||
| 617 | # CONFIG_CODA_FS is not set | ||
| 618 | # CONFIG_AFS_FS is not set | ||
| 619 | |||
| 620 | # | ||
| 621 | # Partition Types | ||
| 622 | # | ||
| 623 | # CONFIG_PARTITION_ADVANCED is not set | ||
| 624 | CONFIG_MSDOS_PARTITION=y | ||
| 625 | |||
| 626 | # | ||
| 627 | # Native Language Support | ||
| 628 | # | ||
| 629 | CONFIG_NLS=y | ||
| 630 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
| 631 | # CONFIG_NLS_CODEPAGE_437 is not set | ||
| 632 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
| 633 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
| 634 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
| 635 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
| 636 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
| 637 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
| 638 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
| 639 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
| 640 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
| 641 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
| 642 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
| 643 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
| 644 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
| 645 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
| 646 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
| 647 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
| 648 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
| 649 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
| 650 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
| 651 | # CONFIG_NLS_ISO8859_8 is not set | ||
| 652 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
| 653 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
| 654 | # CONFIG_NLS_ASCII is not set | ||
| 655 | # CONFIG_NLS_ISO8859_1 is not set | ||
| 656 | # CONFIG_NLS_ISO8859_2 is not set | ||
| 657 | # CONFIG_NLS_ISO8859_3 is not set | ||
| 658 | # CONFIG_NLS_ISO8859_4 is not set | ||
| 659 | # CONFIG_NLS_ISO8859_5 is not set | ||
| 660 | # CONFIG_NLS_ISO8859_6 is not set | ||
| 661 | # CONFIG_NLS_ISO8859_7 is not set | ||
| 662 | # CONFIG_NLS_ISO8859_9 is not set | ||
| 663 | # CONFIG_NLS_ISO8859_13 is not set | ||
| 664 | # CONFIG_NLS_ISO8859_14 is not set | ||
| 665 | # CONFIG_NLS_ISO8859_15 is not set | ||
| 666 | # CONFIG_NLS_KOI8_R is not set | ||
| 667 | # CONFIG_NLS_KOI8_U is not set | ||
| 668 | # CONFIG_NLS_UTF8 is not set | ||
| 669 | |||
| 670 | # | ||
| 671 | # Profiling support | ||
| 672 | # | ||
| 673 | # CONFIG_PROFILING is not set | ||
| 674 | |||
| 675 | # | ||
| 676 | # Kernel hacking | ||
| 677 | # | ||
| 678 | # CONFIG_PRINTK_TIME is not set | ||
| 679 | CONFIG_DEBUG_KERNEL=y | ||
| 680 | CONFIG_MAGIC_SYSRQ=y | ||
| 681 | CONFIG_LOG_BUF_SHIFT=14 | ||
| 682 | # CONFIG_SCHEDSTATS is not set | ||
| 683 | # CONFIG_DEBUG_SLAB is not set | ||
| 684 | CONFIG_DEBUG_PREEMPT=y | ||
| 685 | # CONFIG_DEBUG_SPINLOCK is not set | ||
| 686 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
| 687 | # CONFIG_DEBUG_KOBJECT is not set | ||
| 688 | CONFIG_DEBUG_BUGVERBOSE=y | ||
| 689 | CONFIG_DEBUG_INFO=y | ||
| 690 | # CONFIG_DEBUG_FS is not set | ||
| 691 | CONFIG_FRAME_POINTER=y | ||
| 692 | CONFIG_DEBUG_USER=y | ||
| 693 | CONFIG_DEBUG_ERRORS=y | ||
| 694 | # CONFIG_DEBUG_LL is not set | ||
| 695 | |||
| 696 | # | ||
| 697 | # Security options | ||
| 698 | # | ||
| 699 | # CONFIG_KEYS is not set | ||
| 700 | # CONFIG_SECURITY is not set | ||
| 701 | |||
| 702 | # | ||
| 703 | # Cryptographic options | ||
| 704 | # | ||
| 705 | CONFIG_CRYPTO=y | ||
| 706 | # CONFIG_CRYPTO_HMAC is not set | ||
| 707 | # CONFIG_CRYPTO_NULL is not set | ||
| 708 | # CONFIG_CRYPTO_MD4 is not set | ||
| 709 | # CONFIG_CRYPTO_MD5 is not set | ||
| 710 | # CONFIG_CRYPTO_SHA1 is not set | ||
| 711 | # CONFIG_CRYPTO_SHA256 is not set | ||
| 712 | # CONFIG_CRYPTO_SHA512 is not set | ||
| 713 | # CONFIG_CRYPTO_WP512 is not set | ||
| 714 | # CONFIG_CRYPTO_TGR192 is not set | ||
| 715 | # CONFIG_CRYPTO_DES is not set | ||
| 716 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
| 717 | # CONFIG_CRYPTO_TWOFISH is not set | ||
| 718 | # CONFIG_CRYPTO_SERPENT is not set | ||
| 719 | # CONFIG_CRYPTO_AES is not set | ||
| 720 | # CONFIG_CRYPTO_CAST5 is not set | ||
| 721 | # CONFIG_CRYPTO_CAST6 is not set | ||
| 722 | # CONFIG_CRYPTO_TEA is not set | ||
| 723 | # CONFIG_CRYPTO_ARC4 is not set | ||
| 724 | # CONFIG_CRYPTO_KHAZAD is not set | ||
| 725 | # CONFIG_CRYPTO_ANUBIS is not set | ||
| 726 | # CONFIG_CRYPTO_DEFLATE is not set | ||
| 727 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
| 728 | # CONFIG_CRYPTO_CRC32C is not set | ||
| 729 | # CONFIG_CRYPTO_TEST is not set | ||
| 730 | |||
| 731 | # | ||
| 732 | # Hardware crypto devices | ||
| 733 | # | ||
| 734 | |||
| 735 | # | ||
| 736 | # Library routines | ||
| 737 | # | ||
| 738 | CONFIG_CRC_CCITT=y | ||
| 739 | CONFIG_CRC32=y | ||
| 740 | # CONFIG_LIBCRC32C is not set | ||
| 741 | CONFIG_ZLIB_INFLATE=y | ||
| 742 | CONFIG_ZLIB_DEFLATE=y | ||
| @@ -200,7 +200,7 @@ CONFIG_MACH_MX27ADS=y · 199 unmodified lines | |||
| 200 | CONFIG_MACH_PCM038=y | 200 | CONFIG_MACH_PCM038=y |
| 201 | CONFIG_MACH_PCM970_BASEBOARD=y | 201 | CONFIG_MACH_PCM970_BASEBOARD=y |
| 202 | CONFIG_MACH_MX27_3DS=y | 202 | CONFIG_MACH_MX27_3DS=y |
| 203 | CONFIG_MACH_MX27LITE=y | 203 | CONFIG_MACH_IMX27LITE=y |
| 204 | CONFIG_MXC_IRQ_PRIOR=y | 204 | CONFIG_MXC_IRQ_PRIOR=y |
| 205 | CONFIG_MXC_PWM=y | 205 | CONFIG_MXC_PWM=y |
| 206 | 206 | ||
| @@ -0,0 +1,1286 @@ | |||
| 1 | # | ||
| 2 | # Automatically generated make config: don't edit | ||
| 3 | # Linux kernel version: 2.6.33-rc6 | ||
| 4 | # Tue Feb 2 15:20:48 2010 | ||
| 5 | # | ||
| 6 | CONFIG_ARM=y | ||
| 7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | ||
| 8 | CONFIG_GENERIC_GPIO=y | ||
| 9 | CONFIG_GENERIC_TIME=y | ||
| 10 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
| 11 | CONFIG_GENERIC_HARDIRQS=y | ||
| 12 | CONFIG_STACKTRACE_SUPPORT=y | ||
| 13 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
| 14 | CONFIG_LOCKDEP_SUPPORT=y | ||
| 15 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
| 16 | CONFIG_HARDIRQS_SW_RESEND=y | ||
| 17 | CONFIG_GENERIC_IRQ_PROBE=y | ||
| 18 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
| 19 | CONFIG_GENERIC_HWEIGHT=y | ||
| 20 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
| 21 | CONFIG_ARCH_MTD_XIP=y | ||
| 22 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
| 23 | CONFIG_VECTORS_BASE=0xffff0000 | ||
| 24 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
| 25 | CONFIG_CONSTRUCTORS=y | ||
| 26 | |||
| 27 | # | ||
| 28 | # General setup | ||
| 29 | # | ||
| 30 | CONFIG_EXPERIMENTAL=y | ||
| 31 | CONFIG_BROKEN_ON_SMP=y | ||
| 32 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
| 33 | CONFIG_LOCALVERSION="" | ||
| 34 | # CONFIG_LOCALVERSION_AUTO is not set | ||
| 35 | CONFIG_HAVE_KERNEL_GZIP=y | ||
| 36 | CONFIG_HAVE_KERNEL_LZO=y | ||
| 37 | CONFIG_KERNEL_GZIP=y | ||
| 38 | # CONFIG_KERNEL_BZIP2 is not set | ||
| 39 | # CONFIG_KERNEL_LZMA is not set | ||
| 40 | # CONFIG_KERNEL_LZO is not set | ||
| 41 | CONFIG_SWAP=y | ||
| 42 | CONFIG_SYSVIPC=y | ||
| 43 | CONFIG_SYSVIPC_SYSCTL=y | ||
| 44 | # CONFIG_POSIX_MQUEUE is not set | ||
| 45 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
| 46 | # CONFIG_TASKSTATS is not set | ||
| 47 | # CONFIG_AUDIT is not set | ||
| 48 | |||
| 49 | # | ||
| 50 | # RCU Subsystem | ||
| 51 | # | ||
| 52 | CONFIG_TREE_RCU=y | ||
| 53 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
| 54 | # CONFIG_TINY_RCU is not set | ||
| 55 | # CONFIG_RCU_TRACE is not set | ||
| 56 | CONFIG_RCU_FANOUT=32 | ||
| 57 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
| 58 | # CONFIG_TREE_RCU_TRACE is not set | ||
| 59 | # CONFIG_IKCONFIG is not set | ||
| 60 | CONFIG_LOG_BUF_SHIFT=18 | ||
| 61 | # CONFIG_GROUP_SCHED is not set | ||
| 62 | # CONFIG_CGROUPS is not set | ||
| 63 | # CONFIG_SYSFS_DEPRECATED_V2 is not set | ||
| 64 | CONFIG_RELAY=y | ||
| 65 | # CONFIG_NAMESPACES is not set | ||
| 66 | # CONFIG_BLK_DEV_INITRD is not set | ||
| 67 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
| 68 | CONFIG_SYSCTL=y | ||
| 69 | CONFIG_ANON_INODES=y | ||
| 70 | CONFIG_EMBEDDED=y | ||
| 71 | CONFIG_UID16=y | ||
| 72 | CONFIG_SYSCTL_SYSCALL=y | ||
| 73 | CONFIG_KALLSYMS=y | ||
| 74 | # CONFIG_KALLSYMS_ALL is not set | ||
| 75 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
| 76 | CONFIG_HOTPLUG=y | ||
| 77 | CONFIG_PRINTK=y | ||
| 78 | CONFIG_BUG=y | ||
| 79 | CONFIG_ELF_CORE=y | ||
| 80 | CONFIG_BASE_FULL=y | ||
| 81 | CONFIG_FUTEX=y | ||
| 82 | CONFIG_EPOLL=y | ||
| 83 | CONFIG_SIGNALFD=y | ||
| 84 | CONFIG_TIMERFD=y | ||
| 85 | CONFIG_EVENTFD=y | ||
| 86 | CONFIG_SHMEM=y | ||
| 87 | CONFIG_AIO=y | ||
| 88 | |||
| 89 | # | ||
| 90 | # Kernel Performance Events And Counters | ||
| 91 | # | ||
| 92 | CONFIG_VM_EVENT_COUNTERS=y | ||
| 93 | # CONFIG_SLUB_DEBUG is not set | ||
| 94 | # CONFIG_COMPAT_BRK is not set | ||
| 95 | # CONFIG_SLAB is not set | ||
| 96 | CONFIG_SLUB=y | ||
| 97 | # CONFIG_SLOB is not set | ||
| 98 | # CONFIG_PROFILING is not set | ||
| 99 | CONFIG_HAVE_OPROFILE=y | ||
| 100 | # CONFIG_KPROBES is not set | ||
| 101 | CONFIG_HAVE_KPROBES=y | ||
| 102 | CONFIG_HAVE_KRETPROBES=y | ||
| 103 | CONFIG_HAVE_CLK=y | ||
| 104 | |||
| 105 | # | ||
| 106 | # GCOV-based kernel profiling | ||
| 107 | # | ||
| 108 | # CONFIG_GCOV_KERNEL is not set | ||
| 109 | # CONFIG_SLOW_WORK is not set | ||
| 110 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | ||
| 111 | CONFIG_RT_MUTEXES=y | ||
| 112 | CONFIG_BASE_SMALL=0 | ||
| 113 | CONFIG_MODULES=y | ||
| 114 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
| 115 | CONFIG_MODULE_UNLOAD=y | ||
| 116 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
| 117 | CONFIG_MODVERSIONS=y | ||
| 118 | CONFIG_MODULE_SRCVERSION_ALL=y | ||
| 119 | CONFIG_BLOCK=y | ||
| 120 | # CONFIG_LBDAF is not set | ||
| 121 | # CONFIG_BLK_DEV_BSG is not set | ||
| 122 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
| 123 | |||
| 124 | # | ||
| 125 | # IO Schedulers | ||
| 126 | # | ||
| 127 | CONFIG_IOSCHED_NOOP=y | ||
| 128 | CONFIG_IOSCHED_DEADLINE=y | ||
| 129 | CONFIG_IOSCHED_CFQ=y | ||
| 130 | # CONFIG_DEFAULT_DEADLINE is not set | ||
| 131 | CONFIG_DEFAULT_CFQ=y | ||
| 132 | # CONFIG_DEFAULT_NOOP is not set | ||
| 133 | CONFIG_DEFAULT_IOSCHED="cfq" | ||
| 134 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
| 135 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
| 136 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
| 137 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
| 138 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
| 139 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
| 140 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
| 141 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
| 142 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
| 143 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
| 144 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
| 145 | # CONFIG_INLINE_READ_LOCK is not set | ||
| 146 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
| 147 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
| 148 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
| 149 | CONFIG_INLINE_READ_UNLOCK=y | ||
| 150 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
| 151 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
| 152 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
| 153 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
| 154 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
| 155 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
| 156 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
| 157 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
| 158 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
| 159 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
| 160 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
| 161 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
| 162 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
| 163 | CONFIG_FREEZER=y | ||
| 164 | |||
| 165 | # | ||
| 166 | # System Type | ||
| 167 | # | ||
| 168 | CONFIG_MMU=y | ||
| 169 | # CONFIG_ARCH_AAEC2000 is not set | ||
| 170 | # CONFIG_ARCH_INTEGRATOR is not set | ||
| 171 | # CONFIG_ARCH_REALVIEW is not set | ||
| 172 | # CONFIG_ARCH_VERSATILE is not set | ||
| 173 | # CONFIG_ARCH_AT91 is not set | ||
| 174 | # CONFIG_ARCH_CLPS711X is not set | ||
| 175 | # CONFIG_ARCH_GEMINI is not set | ||
| 176 | # CONFIG_ARCH_EBSA110 is not set | ||
| 177 | # CONFIG_ARCH_EP93XX is not set | ||
| 178 | # CONFIG_ARCH_FOOTBRIDGE is not set | ||
| 179 | CONFIG_ARCH_MXC=y | ||
| 180 | # CONFIG_ARCH_STMP3XXX is not set | ||
| 181 | # CONFIG_ARCH_NETX is not set | ||
| 182 | # CONFIG_ARCH_H720X is not set | ||
| 183 | # CONFIG_ARCH_NOMADIK is not set | ||
| 184 | # CONFIG_ARCH_IOP13XX is not set | ||
| 185 | # CONFIG_ARCH_IOP32X is not set | ||
| 186 | # CONFIG_ARCH_IOP33X is not set | ||
| 187 | # CONFIG_ARCH_IXP23XX is not set | ||
| 188 | # CONFIG_ARCH_IXP2000 is not set | ||
| 189 | # CONFIG_ARCH_IXP4XX is not set | ||
| 190 | # CONFIG_ARCH_L7200 is not set | ||
| 191 | # CONFIG_ARCH_DOVE is not set | ||
| 192 | # CONFIG_ARCH_KIRKWOOD is not set | ||
| 193 | # CONFIG_ARCH_LOKI is not set | ||
| 194 | # CONFIG_ARCH_MV78XX0 is not set | ||
| 195 | # CONFIG_ARCH_ORION5X is not set | ||
| 196 | # CONFIG_ARCH_MMP is not set | ||
| 197 | # CONFIG_ARCH_KS8695 is not set | ||
| 198 | # CONFIG_ARCH_NS9XXX is not set | ||
| 199 | # CONFIG_ARCH_W90X900 is not set | ||
| 200 | # CONFIG_ARCH_PNX4008 is not set | ||
| 201 | # CONFIG_ARCH_PXA is not set | ||
| 202 | # CONFIG_ARCH_MSM is not set | ||
| 203 | # CONFIG_ARCH_RPC is not set | ||
| 204 | # CONFIG_ARCH_SA1100 is not set | ||
| 205 | # CONFIG_ARCH_S3C2410 is not set | ||
| 206 | # CONFIG_ARCH_S3C64XX is not set | ||
| 207 | # CONFIG_ARCH_S5PC1XX is not set | ||
| 208 | # CONFIG_ARCH_SHARK is not set | ||
| 209 | # CONFIG_ARCH_LH7A40X is not set | ||
| 210 | # CONFIG_ARCH_U300 is not set | ||
| 211 | # CONFIG_ARCH_DAVINCI is not set | ||
| 212 | # CONFIG_ARCH_OMAP is not set | ||
| 213 | # CONFIG_ARCH_BCMRING is not set | ||
| 214 | # CONFIG_ARCH_U8500 is not set | ||
| 215 | |||
| 216 | # | ||
| 217 | # Freescale MXC Implementations | ||
| 218 | # | ||
| 219 | # CONFIG_ARCH_MX1 is not set | ||
| 220 | # CONFIG_ARCH_MX2 is not set | ||
| 221 | # CONFIG_ARCH_MX25 is not set | ||
| 222 | # CONFIG_ARCH_MX3 is not set | ||
| 223 | # CONFIG_ARCH_MXC91231 is not set | ||
| 224 | CONFIG_ARCH_MX5=y | ||
| 225 | CONFIG_ARCH_MX51=y | ||
| 226 | |||
| 227 | # | ||
| 228 | # MX5 platforms: | ||
| 229 | # | ||
| 230 | CONFIG_MACH_MX51_BABBAGE=y | ||
| 231 | # CONFIG_MXC_IRQ_PRIOR is not set | ||
| 232 | CONFIG_MXC_TZIC=y | ||
| 233 | # CONFIG_MXC_PWM is not set | ||
| 234 | CONFIG_ARCH_MXC_IOMUX_V3=y | ||
| 235 | |||
| 236 | # | ||
| 237 | # Processor Type | ||
| 238 | # | ||
| 239 | CONFIG_CPU_32v6K=y | ||
| 240 | CONFIG_CPU_V7=y | ||
| 241 | CONFIG_CPU_32v7=y | ||
| 242 | CONFIG_CPU_ABRT_EV7=y | ||
| 243 | CONFIG_CPU_PABRT_V7=y | ||
| 244 | CONFIG_CPU_CACHE_V7=y | ||
| 245 | CONFIG_CPU_CACHE_VIPT=y | ||
| 246 | CONFIG_CPU_COPY_V6=y | ||
| 247 | CONFIG_CPU_TLB_V7=y | ||
| 248 | CONFIG_CPU_HAS_ASID=y | ||
| 249 | CONFIG_CPU_CP15=y | ||
| 250 | CONFIG_CPU_CP15_MMU=y | ||
| 251 | |||
| 252 | # | ||
| 253 | # Processor Features | ||
| 254 | # | ||
| 255 | CONFIG_ARM_THUMB=y | ||
| 256 | # CONFIG_ARM_THUMBEE is not set | ||
| 257 | # CONFIG_CPU_ICACHE_DISABLE is not set | ||
| 258 | # CONFIG_CPU_DCACHE_DISABLE is not set | ||
| 259 | # CONFIG_CPU_BPREDICT_DISABLE is not set | ||
| 260 | CONFIG_HAS_TLS_REG=y | ||
| 261 | CONFIG_ARM_L1_CACHE_SHIFT=5 | ||
| 262 | # CONFIG_ARM_ERRATA_430973 is not set | ||
| 263 | # CONFIG_ARM_ERRATA_458693 is not set | ||
| 264 | # CONFIG_ARM_ERRATA_460075 is not set | ||
| 265 | CONFIG_COMMON_CLKDEV=y | ||
| 266 | |||
| 267 | # | ||
| 268 | # Bus support | ||
| 269 | # | ||
| 270 | # CONFIG_PCI_SYSCALL is not set | ||
| 271 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
| 272 | # CONFIG_PCCARD is not set | ||
| 273 | |||
| 274 | # | ||
| 275 | # Kernel Features | ||
| 276 | # | ||
| 277 | CONFIG_TICK_ONESHOT=y | ||
| 278 | CONFIG_NO_HZ=y | ||
| 279 | CONFIG_HIGH_RES_TIMERS=y | ||
| 280 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
| 281 | CONFIG_VMSPLIT_3G=y | ||
| 282 | # CONFIG_VMSPLIT_2G is not set | ||
| 283 | # CONFIG_VMSPLIT_1G is not set | ||
| 284 | CONFIG_PAGE_OFFSET=0xC0000000 | ||
| 285 | # CONFIG_PREEMPT_NONE is not set | ||
| 286 | CONFIG_PREEMPT_VOLUNTARY=y | ||
| 287 | # CONFIG_PREEMPT is not set | ||
| 288 | CONFIG_HZ=100 | ||
| 289 | # CONFIG_THUMB2_KERNEL is not set | ||
| 290 | CONFIG_AEABI=y | ||
| 291 | # CONFIG_OABI_COMPAT is not set | ||
| 292 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set | ||
| 293 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set | ||
| 294 | # CONFIG_HIGHMEM is not set | ||
| 295 | CONFIG_SELECT_MEMORY_MODEL=y | ||
| 296 | CONFIG_FLATMEM_MANUAL=y | ||
| 297 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
| 298 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
| 299 | CONFIG_FLATMEM=y | ||
| 300 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
| 301 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
| 302 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
| 303 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
| 304 | CONFIG_ZONE_DMA_FLAG=0 | ||
| 305 | CONFIG_VIRT_TO_BUS=y | ||
| 306 | # CONFIG_KSM is not set | ||
| 307 | CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 | ||
| 308 | CONFIG_ALIGNMENT_TRAP=y | ||
| 309 | # CONFIG_UACCESS_WITH_MEMCPY is not set | ||
| 310 | |||
| 311 | # | ||
| 312 | # Boot options | ||
| 313 | # | ||
| 314 | CONFIG_ZBOOT_ROM_TEXT=0 | ||
| 315 | CONFIG_ZBOOT_ROM_BSS=0 | ||
| 316 | CONFIG_CMDLINE="noinitrd console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.0.101:/shared/nfs ip=dhcp" | ||
| 317 | # CONFIG_XIP_KERNEL is not set | ||
| 318 | # CONFIG_KEXEC is not set | ||
| 319 | |||
| 320 | # | ||
| 321 | # CPU Power Management | ||
| 322 | # | ||
| 323 | # CONFIG_CPU_IDLE is not set | ||
| 324 | |||
| 325 | # | ||
| 326 | # Floating point emulation | ||
| 327 | # | ||
| 328 | |||
| 329 | # | ||
| 330 | # At least one emulation must be selected | ||
| 331 | # | ||
| 332 | CONFIG_VFP=y | ||
| 333 | CONFIG_VFPv3=y | ||
| 334 | CONFIG_NEON=y | ||
| 335 | |||
| 336 | # | ||
| 337 | # Userspace binary formats | ||
| 338 | # | ||
| 339 | CONFIG_BINFMT_ELF=y | ||
| 340 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
| 341 | CONFIG_HAVE_AOUT=y | ||
| 342 | # CONFIG_BINFMT_AOUT is not set | ||
| 343 | CONFIG_BINFMT_MISC=m | ||
| 344 | |||
| 345 | # | ||
| 346 | # Power management options | ||
| 347 | # | ||
| 348 | CONFIG_PM=y | ||
| 349 | CONFIG_PM_DEBUG=y | ||
| 350 | # CONFIG_PM_VERBOSE is not set | ||
| 351 | CONFIG_CAN_PM_TRACE=y | ||
| 352 | CONFIG_PM_SLEEP=y | ||
| 353 | CONFIG_SUSPEND=y | ||
| 354 | CONFIG_PM_TEST_SUSPEND=y | ||
| 355 | CONFIG_SUSPEND_FREEZER=y | ||
| 356 | # CONFIG_APM_EMULATION is not set | ||
| 357 | # CONFIG_PM_RUNTIME is not set | ||
| 358 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
| 359 | CONFIG_NET=y | ||
| 360 | |||
| 361 | # | ||
| 362 | # Networking options | ||
| 363 | # | ||
| 364 | CONFIG_PACKET=y | ||
| 365 | CONFIG_PACKET_MMAP=y | ||
| 366 | CONFIG_UNIX=y | ||
| 367 | # CONFIG_NET_KEY is not set | ||
| 368 | CONFIG_INET=y | ||
| 369 | # CONFIG_IP_MULTICAST is not set | ||
| 370 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
| 371 | CONFIG_IP_FIB_HASH=y | ||
| 372 | CONFIG_IP_PNP=y | ||
| 373 | CONFIG_IP_PNP_DHCP=y | ||
| 374 | # CONFIG_IP_PNP_BOOTP is not set | ||
| 375 | # CONFIG_IP_PNP_RARP is not set | ||
| 376 | # CONFIG_NET_IPIP is not set | ||
| 377 | # CONFIG_NET_IPGRE is not set | ||
| 378 | # CONFIG_ARPD is not set | ||
| 379 | # CONFIG_SYN_COOKIES is not set | ||
| 380 | # CONFIG_INET_AH is not set | ||
| 381 | # CONFIG_INET_ESP is not set | ||
| 382 | # CONFIG_INET_IPCOMP is not set | ||
| 383 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
| 384 | # CONFIG_INET_TUNNEL is not set | ||
| 385 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set | ||
| 386 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set | ||
| 387 | # CONFIG_INET_XFRM_MODE_BEET is not set | ||
| 388 | # CONFIG_INET_LRO is not set | ||
| 389 | CONFIG_INET_DIAG=y | ||
| 390 | CONFIG_INET_TCP_DIAG=y | ||
| 391 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
| 392 | CONFIG_TCP_CONG_CUBIC=y | ||
| 393 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
| 394 | # CONFIG_TCP_MD5SIG is not set | ||
| 395 | # CONFIG_IPV6 is not set | ||
| 396 | # CONFIG_NETWORK_SECMARK is not set | ||
| 397 | # CONFIG_NETFILTER is not set | ||
| 398 | # CONFIG_IP_DCCP is not set | ||
| 399 | # CONFIG_IP_SCTP is not set | ||
| 400 | # CONFIG_RDS is not set | ||
| 401 | # CONFIG_TIPC is not set | ||
| 402 | # CONFIG_ATM is not set | ||
| 403 | # CONFIG_BRIDGE is not set | ||
| 404 | # CONFIG_NET_DSA is not set | ||
| 405 | # CONFIG_VLAN_8021Q is not set | ||
| 406 | # CONFIG_DECNET is not set | ||
| 407 | # CONFIG_LLC2 is not set | ||
| 408 | # CONFIG_IPX is not set | ||
| 409 | # CONFIG_ATALK is not set | ||
| 410 | # CONFIG_X25 is not set | ||
| 411 | # CONFIG_LAPB is not set | ||
| 412 | # CONFIG_ECONET is not set | ||
| 413 | # CONFIG_WAN_ROUTER is not set | ||
| 414 | # CONFIG_PHONET is not set | ||
| 415 | # CONFIG_IEEE802154 is not set | ||
| 416 | # CONFIG_NET_SCHED is not set | ||
| 417 | # CONFIG_DCB 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 | # CONFIG_WIRELESS is not set | ||
| 429 | # CONFIG_WIMAX is not set | ||
| 430 | # CONFIG_RFKILL is not set | ||
| 431 | # CONFIG_NET_9P is not set | ||
| 432 | |||
| 433 | # | ||
| 434 | # Device Drivers | ||
| 435 | # | ||
| 436 | |||
| 437 | # | ||
| 438 | # Generic Driver Options | ||
| 439 | # | ||
| 440 | CONFIG_UEVENT_HELPER_PATH="" | ||
| 441 | # CONFIG_STANDALONE is not set | ||
| 442 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
| 443 | CONFIG_FW_LOADER=y | ||
| 444 | CONFIG_FIRMWARE_IN_KERNEL=y | ||
| 445 | CONFIG_EXTRA_FIRMWARE="" | ||
| 446 | # CONFIG_DEBUG_DRIVER is not set | ||
| 447 | # CONFIG_DEBUG_DEVRES is not set | ||
| 448 | # CONFIG_SYS_HYPERVISOR is not set | ||
| 449 | CONFIG_CONNECTOR=y | ||
| 450 | CONFIG_PROC_EVENTS=y | ||
| 451 | # CONFIG_MTD is not set | ||
| 452 | # CONFIG_PARPORT is not set | ||
| 453 | CONFIG_BLK_DEV=y | ||
| 454 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
| 455 | CONFIG_BLK_DEV_LOOP=y | ||
| 456 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
| 457 | # CONFIG_BLK_DEV_DRBD is not set | ||
| 458 | # CONFIG_BLK_DEV_NBD is not set | ||
| 459 | CONFIG_BLK_DEV_RAM=y | ||
| 460 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
| 461 | CONFIG_BLK_DEV_RAM_SIZE=65536 | ||
| 462 | # CONFIG_BLK_DEV_XIP is not set | ||
| 463 | # CONFIG_CDROM_PKTCDVD is not set | ||
| 464 | # CONFIG_ATA_OVER_ETH is not set | ||
| 465 | # CONFIG_MG_DISK is not set | ||
| 466 | # CONFIG_MISC_DEVICES is not set | ||
| 467 | CONFIG_HAVE_IDE=y | ||
| 468 | # CONFIG_IDE is not set | ||
| 469 | |||
| 470 | # | ||
| 471 | # SCSI device support | ||
| 472 | # | ||
| 473 | # CONFIG_RAID_ATTRS is not set | ||
| 474 | CONFIG_SCSI=y | ||
| 475 | CONFIG_SCSI_DMA=y | ||
| 476 | # CONFIG_SCSI_TGT is not set | ||
| 477 | # CONFIG_SCSI_NETLINK is not set | ||
| 478 | # CONFIG_SCSI_PROC_FS is not set | ||
| 479 | |||
| 480 | # | ||
| 481 | # SCSI support type (disk, tape, CD-ROM) | ||
| 482 | # | ||
| 483 | CONFIG_BLK_DEV_SD=y | ||
| 484 | # CONFIG_CHR_DEV_ST is not set | ||
| 485 | # CONFIG_CHR_DEV_OSST is not set | ||
| 486 | # CONFIG_BLK_DEV_SR is not set | ||
| 487 | # CONFIG_CHR_DEV_SG is not set | ||
| 488 | # CONFIG_CHR_DEV_SCH is not set | ||
| 489 | CONFIG_SCSI_MULTI_LUN=y | ||
| 490 | CONFIG_SCSI_CONSTANTS=y | ||
| 491 | CONFIG_SCSI_LOGGING=y | ||
| 492 | CONFIG_SCSI_SCAN_ASYNC=y | ||
| 493 | CONFIG_SCSI_WAIT_SCAN=m | ||
| 494 | |||
| 495 | # | ||
| 496 | # SCSI Transports | ||
| 497 | # | ||
| 498 | # CONFIG_SCSI_SPI_ATTRS is not set | ||
| 499 | # CONFIG_SCSI_FC_ATTRS is not set | ||
| 500 | # CONFIG_SCSI_ISCSI_ATTRS is not set | ||
| 501 | # CONFIG_SCSI_SAS_LIBSAS is not set | ||
| 502 | # CONFIG_SCSI_SRP_ATTRS is not set | ||
| 503 | # CONFIG_SCSI_LOWLEVEL is not set | ||
| 504 | # CONFIG_SCSI_DH is not set | ||
| 505 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
| 506 | CONFIG_ATA=m | ||
| 507 | # CONFIG_ATA_NONSTANDARD is not set | ||
| 508 | CONFIG_ATA_VERBOSE_ERROR=y | ||
| 509 | CONFIG_SATA_PMP=y | ||
| 510 | CONFIG_ATA_SFF=y | ||
| 511 | # CONFIG_SATA_MV is not set | ||
| 512 | # CONFIG_PATA_PLATFORM is not set | ||
| 513 | # CONFIG_MD is not set | ||
| 514 | CONFIG_NETDEVICES=y | ||
| 515 | # CONFIG_DUMMY is not set | ||
| 516 | # CONFIG_BONDING is not set | ||
| 517 | # CONFIG_MACVLAN is not set | ||
| 518 | # CONFIG_EQUALIZER is not set | ||
| 519 | # CONFIG_TUN is not set | ||
| 520 | # CONFIG_VETH is not set | ||
| 521 | CONFIG_PHYLIB=y | ||
| 522 | |||
| 523 | # | ||
| 524 | # MII PHY device drivers | ||
| 525 | # | ||
| 526 | CONFIG_MARVELL_PHY=y | ||
| 527 | CONFIG_DAVICOM_PHY=y | ||
| 528 | CONFIG_QSEMI_PHY=y | ||
| 529 | CONFIG_LXT_PHY=y | ||
| 530 | CONFIG_CICADA_PHY=y | ||
| 531 | CONFIG_VITESSE_PHY=y | ||
| 532 | CONFIG_SMSC_PHY=y | ||
| 533 | CONFIG_BROADCOM_PHY=y | ||
| 534 | CONFIG_ICPLUS_PHY=y | ||
| 535 | CONFIG_REALTEK_PHY=y | ||
| 536 | CONFIG_NATIONAL_PHY=y | ||
| 537 | CONFIG_STE10XP=y | ||
| 538 | CONFIG_LSI_ET1011C_PHY=y | ||
| 539 | CONFIG_FIXED_PHY=y | ||
| 540 | CONFIG_MDIO_BITBANG=y | ||
| 541 | CONFIG_MDIO_GPIO=y | ||
| 542 | CONFIG_NET_ETHERNET=y | ||
| 543 | CONFIG_MII=m | ||
| 544 | # CONFIG_AX88796 is not set | ||
| 545 | # CONFIG_SMC91X is not set | ||
| 546 | # CONFIG_DM9000 is not set | ||
| 547 | # CONFIG_ETHOC is not set | ||
| 548 | # CONFIG_SMC911X is not set | ||
| 549 | # CONFIG_SMSC911X is not set | ||
| 550 | # CONFIG_DNET is not set | ||
| 551 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
| 552 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
| 553 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
| 554 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
| 555 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
| 556 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
| 557 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
| 558 | # CONFIG_B44 is not set | ||
| 559 | # CONFIG_KS8842 is not set | ||
| 560 | # CONFIG_KS8851_MLL is not set | ||
| 561 | CONFIG_FEC=y | ||
| 562 | # CONFIG_FEC2 is not set | ||
| 563 | # CONFIG_NETDEV_1000 is not set | ||
| 564 | # CONFIG_NETDEV_10000 is not set | ||
| 565 | # CONFIG_WLAN is not set | ||
| 566 | |||
| 567 | # | ||
| 568 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
| 569 | # | ||
| 570 | # CONFIG_WAN is not set | ||
| 571 | # CONFIG_PPP is not set | ||
| 572 | # CONFIG_SLIP is not set | ||
| 573 | # CONFIG_NETCONSOLE is not set | ||
| 574 | # CONFIG_NETPOLL is not set | ||
| 575 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
| 576 | # CONFIG_ISDN is not set | ||
| 577 | # CONFIG_PHONE is not set | ||
| 578 | |||
| 579 | # | ||
| 580 | # Input device support | ||
| 581 | # | ||
| 582 | CONFIG_INPUT=y | ||
| 583 | CONFIG_INPUT_FF_MEMLESS=m | ||
| 584 | # CONFIG_INPUT_POLLDEV is not set | ||
| 585 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
| 586 | |||
| 587 | # | ||
| 588 | # Userland interfaces | ||
| 589 | # | ||
| 590 | CONFIG_INPUT_MOUSEDEV=y | ||
| 591 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | ||
| 592 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
| 593 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
| 594 | # CONFIG_INPUT_JOYDEV is not set | ||
| 595 | CONFIG_INPUT_EVDEV=y | ||
| 596 | CONFIG_INPUT_EVBUG=m | ||
| 597 | |||
| 598 | # | ||
| 599 | # Input Device Drivers | ||
| 600 | # | ||
| 601 | CONFIG_INPUT_KEYBOARD=y | ||
| 602 | # CONFIG_KEYBOARD_ADP5588 is not set | ||
| 603 | CONFIG_KEYBOARD_ATKBD=y | ||
| 604 | # CONFIG_QT2160 is not set | ||
| 605 | # CONFIG_KEYBOARD_LKKBD is not set | ||
| 606 | # CONFIG_KEYBOARD_GPIO is not set | ||
| 607 | # CONFIG_KEYBOARD_MATRIX is not set | ||
| 608 | # CONFIG_KEYBOARD_LM8323 is not set | ||
| 609 | # CONFIG_KEYBOARD_MAX7359 is not set | ||
| 610 | # CONFIG_KEYBOARD_NEWTON is not set | ||
| 611 | # CONFIG_KEYBOARD_OPENCORES is not set | ||
| 612 | # CONFIG_KEYBOARD_STOWAWAY is not set | ||
| 613 | # CONFIG_KEYBOARD_SUNKBD is not set | ||
| 614 | # CONFIG_KEYBOARD_XTKBD is not set | ||
| 615 | CONFIG_INPUT_MOUSE=y | ||
| 616 | CONFIG_MOUSE_PS2=m | ||
| 617 | CONFIG_MOUSE_PS2_ALPS=y | ||
| 618 | CONFIG_MOUSE_PS2_LOGIPS2PP=y | ||
| 619 | CONFIG_MOUSE_PS2_SYNAPTICS=y | ||
| 620 | CONFIG_MOUSE_PS2_TRACKPOINT=y | ||
| 621 | CONFIG_MOUSE_PS2_ELANTECH=y | ||
| 622 | # CONFIG_MOUSE_PS2_SENTELIC is not set | ||
| 623 | # CONFIG_MOUSE_PS2_TOUCHKIT is not set | ||
| 624 | # CONFIG_MOUSE_SERIAL is not set | ||
| 625 | # CONFIG_MOUSE_VSXXXAA is not set | ||
| 626 | # CONFIG_MOUSE_GPIO is not set | ||
| 627 | # CONFIG_MOUSE_SYNAPTICS_I2C is not set | ||
| 628 | # CONFIG_INPUT_JOYSTICK is not set | ||
| 629 | # CONFIG_INPUT_TABLET is not set | ||
| 630 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
| 631 | # CONFIG_INPUT_MISC is not set | ||
| 632 | |||
| 633 | # | ||
| 634 | # Hardware I/O ports | ||
| 635 | # | ||
| 636 | CONFIG_SERIO=y | ||
| 637 | CONFIG_SERIO_SERPORT=m | ||
| 638 | CONFIG_SERIO_LIBPS2=y | ||
| 639 | # CONFIG_SERIO_RAW is not set | ||
| 640 | # CONFIG_SERIO_ALTERA_PS2 is not set | ||
| 641 | # CONFIG_GAMEPORT is not set | ||
| 642 | |||
| 643 | # | ||
| 644 | # Character devices | ||
| 645 | # | ||
| 646 | CONFIG_VT=y | ||
| 647 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
| 648 | CONFIG_VT_CONSOLE=y | ||
| 649 | CONFIG_HW_CONSOLE=y | ||
| 650 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
| 651 | # CONFIG_DEVKMEM is not set | ||
| 652 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
| 653 | |||
| 654 | # | ||
| 655 | # Serial drivers | ||
| 656 | # | ||
| 657 | # CONFIG_SERIAL_8250 is not set | ||
| 658 | |||
| 659 | # | ||
| 660 | # Non-8250 serial port support | ||
| 661 | # | ||
| 662 | CONFIG_SERIAL_IMX=y | ||
| 663 | CONFIG_SERIAL_IMX_CONSOLE=y | ||
| 664 | CONFIG_SERIAL_CORE=y | ||
| 665 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
| 666 | CONFIG_UNIX98_PTYS=y | ||
| 667 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
| 668 | # CONFIG_LEGACY_PTYS is not set | ||
| 669 | # CONFIG_IPMI_HANDLER is not set | ||
| 670 | CONFIG_HW_RANDOM=y | ||
| 671 | # CONFIG_HW_RANDOM_TIMERIOMEM is not set | ||
| 672 | # CONFIG_R3964 is not set | ||
| 673 | # CONFIG_RAW_DRIVER is not set | ||
| 674 | # CONFIG_TCG_TPM is not set | ||
| 675 | CONFIG_I2C=y | ||
| 676 | CONFIG_I2C_BOARDINFO=y | ||
| 677 | # CONFIG_I2C_COMPAT is not set | ||
| 678 | CONFIG_I2C_CHARDEV=m | ||
| 679 | # CONFIG_I2C_HELPER_AUTO is not set | ||
| 680 | |||
| 681 | # | ||
| 682 | # I2C Algorithms | ||
| 683 | # | ||
| 684 | CONFIG_I2C_ALGOBIT=m | ||
| 685 | CONFIG_I2C_ALGOPCF=m | ||
| 686 | CONFIG_I2C_ALGOPCA=m | ||
| 687 | |||
| 688 | # | ||
| 689 | # I2C Hardware Bus support | ||
| 690 | # | ||
| 691 | |||
| 692 | # | ||
| 693 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
| 694 | # | ||
| 695 | # CONFIG_I2C_DESIGNWARE is not set | ||
| 696 | # CONFIG_I2C_GPIO is not set | ||
| 697 | # CONFIG_I2C_IMX is not set | ||
| 698 | # CONFIG_I2C_OCORES is not set | ||
| 699 | # CONFIG_I2C_SIMTEC is not set | ||
| 700 | |||
| 701 | # | ||
| 702 | # External I2C/SMBus adapter drivers | ||
| 703 | # | ||
| 704 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
| 705 | # CONFIG_I2C_TAOS_EVM is not set | ||
| 706 | |||
| 707 | # | ||
| 708 | # Other I2C/SMBus bus drivers | ||
| 709 | # | ||
| 710 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
| 711 | # CONFIG_I2C_STUB is not set | ||
| 712 | |||
| 713 | # | ||
| 714 | # Miscellaneous I2C Chip support | ||
| 715 | # | ||
| 716 | # CONFIG_SENSORS_TSL2550 is not set | ||
| 717 | # CONFIG_I2C_DEBUG_CORE is not set | ||
| 718 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
| 719 | # CONFIG_I2C_DEBUG_BUS is not set | ||
| 720 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
| 721 | # CONFIG_SPI is not set | ||
| 722 | |||
| 723 | # | ||
| 724 | # PPS support | ||
| 725 | # | ||
| 726 | # CONFIG_PPS is not set | ||
| 727 | CONFIG_ARCH_REQUIRE_GPIOLIB=y | ||
| 728 | CONFIG_GPIOLIB=y | ||
| 729 | # CONFIG_DEBUG_GPIO is not set | ||
| 730 | CONFIG_GPIO_SYSFS=y | ||
| 731 | |||
| 732 | # | ||
| 733 | # Memory mapped GPIO expanders: | ||
| 734 | # | ||
| 735 | |||
| 736 | # | ||
| 737 | # I2C GPIO expanders: | ||
| 738 | # | ||
| 739 | # CONFIG_GPIO_MAX732X is not set | ||
| 740 | # CONFIG_GPIO_PCA953X is not set | ||
| 741 | # CONFIG_GPIO_PCF857X is not set | ||
| 742 | # CONFIG_GPIO_ADP5588 is not set | ||
| 743 | |||
| 744 | # | ||
| 745 | # PCI GPIO expanders: | ||
| 746 | # | ||
| 747 | |||
| 748 | # | ||
| 749 | # SPI GPIO expanders: | ||
| 750 | # | ||
| 751 | |||
| 752 | # | ||
| 753 | # AC97 GPIO expanders: | ||
| 754 | # | ||
| 755 | # CONFIG_W1 is not set | ||
| 756 | # CONFIG_POWER_SUPPLY is not set | ||
| 757 | # CONFIG_HWMON is not set | ||
| 758 | # CONFIG_THERMAL is not set | ||
| 759 | # CONFIG_WATCHDOG is not set | ||
| 760 | CONFIG_SSB_POSSIBLE=y | ||
| 761 | |||
| 762 | # | ||
| 763 | # Sonics Silicon Backplane | ||
| 764 | # | ||
| 765 | # CONFIG_SSB is not set | ||
| 766 | |||
| 767 | # | ||
| 768 | # Multifunction device drivers | ||
| 769 | # | ||
| 770 | # CONFIG_MFD_CORE is not set | ||
| 771 | # CONFIG_MFD_SM501 is not set | ||
| 772 | # CONFIG_MFD_ASIC3 is not set | ||
| 773 | # CONFIG_HTC_EGPIO is not set | ||
| 774 | # CONFIG_HTC_PASIC3 is not set | ||
| 775 | # CONFIG_TPS65010 is not set | ||
| 776 | # CONFIG_TWL4030_CORE is not set | ||
| 777 | # CONFIG_MFD_TMIO is not set | ||
| 778 | # CONFIG_MFD_T7L66XB is not set | ||
| 779 | # CONFIG_MFD_TC6387XB is not set | ||
| 780 | # CONFIG_MFD_TC6393XB is not set | ||
| 781 | # CONFIG_PMIC_DA903X is not set | ||
| 782 | # CONFIG_PMIC_ADP5520 is not set | ||
| 783 | # CONFIG_MFD_WM8400 is not set | ||
| 784 | # CONFIG_MFD_WM831X is not set | ||
| 785 | # CONFIG_MFD_WM8350_I2C is not set | ||
| 786 | # CONFIG_MFD_PCF50633 is not set | ||
| 787 | # CONFIG_AB3100_CORE is not set | ||
| 788 | # CONFIG_MFD_88PM8607 is not set | ||
| 789 | # CONFIG_REGULATOR is not set | ||
| 790 | # CONFIG_MEDIA_SUPPORT is not set | ||
| 791 | |||
| 792 | # | ||
| 793 | # Graphics support | ||
| 794 | # | ||
| 795 | # CONFIG_VGASTATE is not set | ||
| 796 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
| 797 | # CONFIG_FB is not set | ||
| 798 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
| 799 | |||
| 800 | # | ||
| 801 | # Display device support | ||
| 802 | # | ||
| 803 | # CONFIG_DISPLAY_SUPPORT is not set | ||
| 804 | |||
| 805 | # | ||
| 806 | # Console display driver support | ||
| 807 | # | ||
| 808 | # CONFIG_VGA_CONSOLE is not set | ||
| 809 | CONFIG_DUMMY_CONSOLE=y | ||
| 810 | # CONFIG_SOUND is not set | ||
| 811 | # CONFIG_HID_SUPPORT is not set | ||
| 812 | # CONFIG_USB_SUPPORT is not set | ||
| 813 | CONFIG_MMC=y | ||
| 814 | # CONFIG_MMC_DEBUG is not set | ||
| 815 | # CONFIG_MMC_UNSAFE_RESUME is not set | ||
| 816 | |||
| 817 | # | ||
| 818 | # MMC/SD/SDIO Card Drivers | ||
| 819 | # | ||
| 820 | CONFIG_MMC_BLOCK=m | ||
| 821 | CONFIG_MMC_BLOCK_BOUNCE=y | ||
| 822 | # CONFIG_SDIO_UART is not set | ||
| 823 | # CONFIG_MMC_TEST is not set | ||
| 824 | |||
| 825 | # | ||
| 826 | # MMC/SD/SDIO Host Controller Drivers | ||
| 827 | # | ||
| 828 | CONFIG_MMC_SDHCI=m | ||
| 829 | # CONFIG_MMC_SDHCI_PLTFM is not set | ||
| 830 | # CONFIG_MMC_AT91 is not set | ||
| 831 | # CONFIG_MMC_ATMELMCI is not set | ||
| 832 | # CONFIG_MMC_MXC is not set | ||
| 833 | # CONFIG_MEMSTICK is not set | ||
| 834 | CONFIG_NEW_LEDS=y | ||
| 835 | CONFIG_LEDS_CLASS=m | ||
| 836 | |||
| 837 | # | ||
| 838 | # LED drivers | ||
| 839 | # | ||
| 840 | # CONFIG_LEDS_PCA9532 is not set | ||
| 841 | # CONFIG_LEDS_GPIO is not set | ||
| 842 | # CONFIG_LEDS_LP3944 is not set | ||
| 843 | # CONFIG_LEDS_PCA955X is not set | ||
| 844 | # CONFIG_LEDS_BD2802 is not set | ||
| 845 | # CONFIG_LEDS_LT3593 is not set | ||
| 846 | |||
| 847 | # | ||
| 848 | # LED Triggers | ||
| 849 | # | ||
| 850 | # CONFIG_LEDS_TRIGGERS is not set | ||
| 851 | # CONFIG_ACCESSIBILITY is not set | ||
| 852 | CONFIG_RTC_LIB=y | ||
| 853 | CONFIG_RTC_CLASS=y | ||
| 854 | CONFIG_RTC_HCTOSYS=y | ||
| 855 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
| 856 | # CONFIG_RTC_DEBUG is not set | ||
| 857 | |||
| 858 | # | ||
| 859 | # RTC interfaces | ||
| 860 | # | ||
| 861 | CONFIG_RTC_INTF_SYSFS=y | ||
| 862 | CONFIG_RTC_INTF_PROC=y | ||
| 863 | CONFIG_RTC_INTF_DEV=y | ||
| 864 | CONFIG_RTC_INTF_DEV_UIE_EMUL=y | ||
| 865 | # CONFIG_RTC_DRV_TEST is not set | ||
| 866 | |||
| 867 | # | ||
| 868 | # I2C RTC drivers | ||
| 869 | # | ||
| 870 | # CONFIG_RTC_DRV_DS1307 is not set | ||
| 871 | # CONFIG_RTC_DRV_DS1374 is not set | ||
| 872 | # CONFIG_RTC_DRV_DS1672 is not set | ||
| 873 | # CONFIG_RTC_DRV_MAX6900 is not set | ||
| 874 | # CONFIG_RTC_DRV_RS5C372 is not set | ||
| 875 | # CONFIG_RTC_DRV_ISL1208 is not set | ||
| 876 | # CONFIG_RTC_DRV_X1205 is not set | ||
| 877 | # CONFIG_RTC_DRV_PCF8563 is not set | ||
| 878 | # CONFIG_RTC_DRV_PCF8583 is not set | ||
| 879 | # CONFIG_RTC_DRV_M41T80 is not set | ||
| 880 | # CONFIG_RTC_DRV_BQ32K is not set | ||
| 881 | # CONFIG_RTC_DRV_S35390A is not set | ||
| 882 | # CONFIG_RTC_DRV_FM3130 is not set | ||
| 883 | # CONFIG_RTC_DRV_RX8581 is not set | ||
| 884 | # CONFIG_RTC_DRV_RX8025 is not set | ||
| 885 | |||
| 886 | # | ||
| 887 | # SPI RTC drivers | ||
| 888 | # | ||
| 889 | |||
| 890 | # | ||
| 891 | # Platform RTC drivers | ||
| 892 | # | ||
| 893 | # CONFIG_RTC_DRV_CMOS is not set | ||
| 894 | # CONFIG_RTC_DRV_DS1286 is not set | ||
| 895 | # CONFIG_RTC_DRV_DS1511 is not set | ||
| 896 | # CONFIG_RTC_DRV_DS1553 is not set | ||
| 897 | # CONFIG_RTC_DRV_DS1742 is not set | ||
| 898 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
| 899 | # CONFIG_RTC_DRV_M48T86 is not set | ||
| 900 | # CONFIG_RTC_DRV_M48T35 is not set | ||
| 901 | # CONFIG_RTC_DRV_M48T59 is not set | ||
| 902 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
| 903 | # CONFIG_RTC_MXC is not set | ||
| 904 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
| 905 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
| 906 | # CONFIG_RTC_DRV_V3020 is not set | ||
| 907 | |||
| 908 | # | ||
| 909 | # on-CPU RTC drivers | ||
| 910 | # | ||
| 911 | # CONFIG_DMADEVICES is not set | ||
| 912 | # CONFIG_AUXDISPLAY is not set | ||
| 913 | # CONFIG_UIO is not set | ||
| 914 | |||
| 915 | # | ||
| 916 | # TI VLYNQ | ||
| 917 | # | ||
| 918 | # CONFIG_STAGING is not set | ||
| 919 | |||
| 920 | # | ||
| 921 | # File systems | ||
| 922 | # | ||
| 923 | CONFIG_EXT2_FS=y | ||
| 924 | CONFIG_EXT2_FS_XATTR=y | ||
| 925 | CONFIG_EXT2_FS_POSIX_ACL=y | ||
| 926 | CONFIG_EXT2_FS_SECURITY=y | ||
| 927 | # CONFIG_EXT2_FS_XIP is not set | ||
| 928 | CONFIG_EXT3_FS=y | ||
| 929 | CONFIG_EXT3_DEFAULTS_TO_ORDERED=y | ||
| 930 | CONFIG_EXT3_FS_XATTR=y | ||
| 931 | CONFIG_EXT3_FS_POSIX_ACL=y | ||
| 932 | CONFIG_EXT3_FS_SECURITY=y | ||
| 933 | CONFIG_EXT4_FS=y | ||
| 934 | CONFIG_EXT4_FS_XATTR=y | ||
| 935 | CONFIG_EXT4_FS_POSIX_ACL=y | ||
| 936 | CONFIG_EXT4_FS_SECURITY=y | ||
| 937 | # CONFIG_EXT4_DEBUG is not set | ||
| 938 | CONFIG_JBD=y | ||
| 939 | # CONFIG_JBD_DEBUG is not set | ||
| 940 | CONFIG_JBD2=y | ||
| 941 | # CONFIG_JBD2_DEBUG is not set | ||
| 942 | CONFIG_FS_MBCACHE=y | ||
| 943 | # CONFIG_REISERFS_FS is not set | ||
| 944 | # CONFIG_JFS_FS is not set | ||
| 945 | CONFIG_FS_POSIX_ACL=y | ||
| 946 | # CONFIG_XFS_FS is not set | ||
| 947 | # CONFIG_OCFS2_FS is not set | ||
| 948 | # CONFIG_BTRFS_FS is not set | ||
| 949 | # CONFIG_NILFS2_FS is not set | ||
| 950 | CONFIG_FILE_LOCKING=y | ||
| 951 | CONFIG_FSNOTIFY=y | ||
| 952 | CONFIG_DNOTIFY=y | ||
| 953 | CONFIG_INOTIFY=y | ||
| 954 | CONFIG_INOTIFY_USER=y | ||
| 955 | CONFIG_QUOTA=y | ||
| 956 | CONFIG_QUOTA_NETLINK_INTERFACE=y | ||
| 957 | # CONFIG_PRINT_QUOTA_WARNING is not set | ||
| 958 | # CONFIG_QFMT_V1 is not set | ||
| 959 | # CONFIG_QFMT_V2 is not set | ||
| 960 | CONFIG_QUOTACTL=y | ||
| 961 | CONFIG_AUTOFS_FS=y | ||
| 962 | CONFIG_AUTOFS4_FS=y | ||
| 963 | CONFIG_FUSE_FS=y | ||
| 964 | # CONFIG_CUSE is not set | ||
| 965 | |||
| 966 | # | ||
| 967 | # Caches | ||
| 968 | # | ||
| 969 | # CONFIG_FSCACHE is not set | ||
| 970 | |||
| 971 | # | ||
| 972 | # CD-ROM/DVD Filesystems | ||
| 973 | # | ||
| 974 | CONFIG_ISO9660_FS=m | ||
| 975 | CONFIG_JOLIET=y | ||
| 976 | CONFIG_ZISOFS=y | ||
| 977 | CONFIG_UDF_FS=m | ||
| 978 | CONFIG_UDF_NLS=y | ||
| 979 | |||
| 980 | # | ||
| 981 | # DOS/FAT/NT Filesystems | ||
| 982 | # | ||
| 983 | CONFIG_FAT_FS=y | ||
| 984 | CONFIG_MSDOS_FS=m | ||
| 985 | CONFIG_VFAT_FS=y | ||
| 986 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
| 987 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
| 988 | # CONFIG_NTFS_FS is not set | ||
| 989 | |||
| 990 | # | ||
| 991 | # Pseudo filesystems | ||
| 992 | # | ||
| 993 | CONFIG_PROC_FS=y | ||
| 994 | CONFIG_PROC_SYSCTL=y | ||
| 995 | CONFIG_PROC_PAGE_MONITOR=y | ||
| 996 | CONFIG_SYSFS=y | ||
| 997 | # CONFIG_TMPFS is not set | ||
| 998 | # CONFIG_HUGETLB_PAGE is not set | ||
| 999 | CONFIG_CONFIGFS_FS=m | ||
| 1000 | CONFIG_MISC_FILESYSTEMS=y | ||
| 1001 | # CONFIG_ADFS_FS is not set | ||
| 1002 | # CONFIG_AFFS_FS is not set | ||
| 1003 | # CONFIG_ECRYPT_FS is not set | ||
| 1004 | # CONFIG_HFS_FS is not set | ||
| 1005 | # CONFIG_HFSPLUS_FS is not set | ||
| 1006 | # CONFIG_BEFS_FS is not set | ||
| 1007 | # CONFIG_BFS_FS is not set | ||
| 1008 | # CONFIG_EFS_FS is not set | ||
| 1009 | # CONFIG_CRAMFS is not set | ||
| 1010 | # CONFIG_SQUASHFS is not set | ||
| 1011 | # CONFIG_VXFS_FS is not set | ||
| 1012 | # CONFIG_MINIX_FS is not set | ||
| 1013 | # CONFIG_OMFS_FS is not set | ||
| 1014 | # CONFIG_HPFS_FS is not set | ||
| 1015 | # CONFIG_QNX4FS_FS is not set | ||
| 1016 | # CONFIG_ROMFS_FS is not set | ||
| 1017 | # CONFIG_SYSV_FS is not set | ||
| 1018 | # CONFIG_UFS_FS is not set | ||
| 1019 | CONFIG_NETWORK_FILESYSTEMS=y | ||
| 1020 | CONFIG_NFS_FS=y | ||
| 1021 | CONFIG_NFS_V3=y | ||
| 1022 | CONFIG_NFS_V3_ACL=y | ||
| 1023 | CONFIG_NFS_V4=y | ||
| 1024 | # CONFIG_NFS_V4_1 is not set | ||
| 1025 | CONFIG_ROOT_NFS=y | ||
| 1026 | # CONFIG_NFSD is not set | ||
| 1027 | CONFIG_LOCKD=y | ||
| 1028 | CONFIG_LOCKD_V4=y | ||
| 1029 | CONFIG_NFS_ACL_SUPPORT=y | ||
| 1030 | CONFIG_NFS_COMMON=y | ||
| 1031 | CONFIG_SUNRPC=y | ||
| 1032 | CONFIG_SUNRPC_GSS=y | ||
| 1033 | CONFIG_RPCSEC_GSS_KRB5=y | ||
| 1034 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
| 1035 | # CONFIG_SMB_FS is not set | ||
| 1036 | # CONFIG_CIFS is not set | ||
| 1037 | # CONFIG_NCP_FS is not set | ||
| 1038 | # CONFIG_CODA_FS is not set | ||
| 1039 | # CONFIG_AFS_FS is not set | ||
| 1040 | |||
| 1041 | # | ||
| 1042 | # Partition Types | ||
| 1043 | # | ||
| 1044 | # CONFIG_PARTITION_ADVANCED is not set | ||
| 1045 | CONFIG_MSDOS_PARTITION=y | ||
| 1046 | CONFIG_NLS=y | ||
| 1047 | CONFIG_NLS_DEFAULT="cp437" | ||
| 1048 | CONFIG_NLS_CODEPAGE_437=y | ||
| 1049 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
| 1050 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
| 1051 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
| 1052 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
| 1053 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
| 1054 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
| 1055 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
| 1056 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
| 1057 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
| 1058 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
| 1059 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
| 1060 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
| 1061 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
| 1062 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
| 1063 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
| 1064 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
| 1065 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
| 1066 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
| 1067 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
| 1068 | # CONFIG_NLS_ISO8859_8 is not set | ||
| 1069 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
| 1070 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
| 1071 | CONFIG_NLS_ASCII=y | ||
| 1072 | CONFIG_NLS_ISO8859_1=m | ||
| 1073 | # CONFIG_NLS_ISO8859_2 is not set | ||
| 1074 | # CONFIG_NLS_ISO8859_3 is not set | ||
| 1075 | # CONFIG_NLS_ISO8859_4 is not set | ||
| 1076 | # CONFIG_NLS_ISO8859_5 is not set | ||
| 1077 | # CONFIG_NLS_ISO8859_6 is not set | ||
| 1078 | # CONFIG_NLS_ISO8859_7 is not set | ||
| 1079 | # CONFIG_NLS_ISO8859_9 is not set | ||
| 1080 | # CONFIG_NLS_ISO8859_13 is not set | ||
| 1081 | # CONFIG_NLS_ISO8859_14 is not set | ||
| 1082 | CONFIG_NLS_ISO8859_15=m | ||
| 1083 | # CONFIG_NLS_KOI8_R is not set | ||
| 1084 | # CONFIG_NLS_KOI8_U is not set | ||
| 1085 | CONFIG_NLS_UTF8=y | ||
| 1086 | # CONFIG_DLM is not set | ||
| 1087 | |||
| 1088 | # | ||
| 1089 | # Kernel hacking | ||
| 1090 | # | ||
| 1091 | # CONFIG_PRINTK_TIME is not set | ||
| 1092 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
| 1093 | CONFIG_ENABLE_MUST_CHECK=y | ||
| 1094 | CONFIG_FRAME_WARN=1024 | ||
| 1095 | CONFIG_MAGIC_SYSRQ=y | ||
| 1096 | # CONFIG_STRIP_ASM_SYMS is not set | ||
| 1097 | # CONFIG_UNUSED_SYMBOLS is not set | ||
| 1098 | CONFIG_DEBUG_FS=y | ||
| 1099 | # CONFIG_HEADERS_CHECK is not set | ||
| 1100 | CONFIG_DEBUG_KERNEL=y | ||
| 1101 | # CONFIG_DEBUG_SHIRQ is not set | ||
| 1102 | # CONFIG_DETECT_SOFTLOCKUP is not set | ||
| 1103 | # CONFIG_DETECT_HUNG_TASK is not set | ||
| 1104 | # CONFIG_SCHED_DEBUG is not set | ||
| 1105 | # CONFIG_SCHEDSTATS is not set | ||
| 1106 | # CONFIG_TIMER_STATS is not set | ||
| 1107 | # CONFIG_DEBUG_OBJECTS is not set | ||
| 1108 | # CONFIG_DEBUG_KMEMLEAK is not set | ||
| 1109 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
| 1110 | # CONFIG_RT_MUTEX_TESTER is not set | ||
| 1111 | # CONFIG_DEBUG_SPINLOCK is not set | ||
| 1112 | # CONFIG_DEBUG_MUTEXES is not set | ||
| 1113 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
| 1114 | # CONFIG_PROVE_LOCKING is not set | ||
| 1115 | # CONFIG_LOCK_STAT is not set | ||
| 1116 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
| 1117 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
| 1118 | # CONFIG_DEBUG_KOBJECT is not set | ||
| 1119 | # CONFIG_DEBUG_BUGVERBOSE is not set | ||
| 1120 | # CONFIG_DEBUG_INFO is not set | ||
| 1121 | # CONFIG_DEBUG_VM is not set | ||
| 1122 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
| 1123 | # CONFIG_DEBUG_MEMORY_INIT is not set | ||
| 1124 | # CONFIG_DEBUG_LIST is not set | ||
| 1125 | # CONFIG_DEBUG_SG is not set | ||
| 1126 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
| 1127 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
| 1128 | CONFIG_FRAME_POINTER=y | ||
| 1129 | # CONFIG_BOOT_PRINTK_DELAY is not set | ||
| 1130 | # CONFIG_RCU_TORTURE_TEST is not set | ||
| 1131 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
| 1132 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
| 1133 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
| 1134 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
| 1135 | # CONFIG_FAULT_INJECTION is not set | ||
| 1136 | # CONFIG_LATENCYTOP is not set | ||
| 1137 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
| 1138 | # CONFIG_PAGE_POISONING is not set | ||
| 1139 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
| 1140 | CONFIG_TRACING_SUPPORT=y | ||
| 1141 | # CONFIG_FTRACE is not set | ||
| 1142 | # CONFIG_DYNAMIC_DEBUG is not set | ||
| 1143 | # CONFIG_SAMPLES is not set | ||
| 1144 | CONFIG_HAVE_ARCH_KGDB=y | ||
| 1145 | # CONFIG_KGDB is not set | ||
| 1146 | # CONFIG_ARM_UNWIND is not set | ||
| 1147 | # CONFIG_DEBUG_USER is not set | ||
| 1148 | # CONFIG_DEBUG_ERRORS is not set | ||
| 1149 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
| 1150 | CONFIG_DEBUG_LL=y | ||
| 1151 | CONFIG_EARLY_PRINTK=y | ||
| 1152 | # CONFIG_DEBUG_ICEDCC is not set | ||
| 1153 | # CONFIG_OC_ETM is not set | ||
| 1154 | |||
| 1155 | # | ||
| 1156 | # Security options | ||
| 1157 | # | ||
| 1158 | CONFIG_KEYS=y | ||
| 1159 | # CONFIG_KEYS_DEBUG_PROC_KEYS is not set | ||
| 1160 | # CONFIG_SECURITY is not set | ||
| 1161 | CONFIG_SECURITYFS=y | ||
| 1162 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set | ||
| 1163 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
| 1164 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
| 1165 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
| 1166 | CONFIG_DEFAULT_SECURITY="" | ||
| 1167 | CONFIG_CRYPTO=y | ||
| 1168 | |||
| 1169 | # | ||
| 1170 | # Crypto core or helper | ||
| 1171 | # | ||
| 1172 | CONFIG_CRYPTO_ALGAPI=y | ||
| 1173 | CONFIG_CRYPTO_ALGAPI2=y | ||
| 1174 | CONFIG_CRYPTO_AEAD2=y | ||
| 1175 | CONFIG_CRYPTO_BLKCIPHER=y | ||
| 1176 | CONFIG_CRYPTO_BLKCIPHER2=y | ||
| 1177 | CONFIG_CRYPTO_HASH=y | ||
| 1178 | CONFIG_CRYPTO_HASH2=y | ||
| 1179 | CONFIG_CRYPTO_RNG2=y | ||
| 1180 | CONFIG_CRYPTO_PCOMP=y | ||
| 1181 | CONFIG_CRYPTO_MANAGER=y | ||
| 1182 | CONFIG_CRYPTO_MANAGER2=y | ||
| 1183 | # CONFIG_CRYPTO_GF128MUL is not set | ||
| 1184 | # CONFIG_CRYPTO_NULL is not set | ||
| 1185 | CONFIG_CRYPTO_WORKQUEUE=y | ||
| 1186 | # CONFIG_CRYPTO_CRYPTD is not set | ||
| 1187 | # CONFIG_CRYPTO_AUTHENC is not set | ||
| 1188 | # CONFIG_CRYPTO_TEST is not set | ||
| 1189 | |||
| 1190 | # | ||
| 1191 | # Authenticated Encryption with Associated Data | ||
| 1192 | # | ||
| 1193 | # CONFIG_CRYPTO_CCM is not set | ||
| 1194 | # CONFIG_CRYPTO_GCM is not set | ||
| 1195 | # CONFIG_CRYPTO_SEQIV is not set | ||
| 1196 | |||
| 1197 | # | ||
| 1198 | # Block modes | ||
| 1199 | # | ||
| 1200 | CONFIG_CRYPTO_CBC=y | ||
| 1201 | # CONFIG_CRYPTO_CTR is not set | ||
| 1202 | # CONFIG_CRYPTO_CTS is not set | ||
| 1203 | # CONFIG_CRYPTO_ECB is not set | ||
| 1204 | # CONFIG_CRYPTO_LRW is not set | ||
| 1205 | # CONFIG_CRYPTO_PCBC is not set | ||
| 1206 | # CONFIG_CRYPTO_XTS is not set | ||
| 1207 | |||
| 1208 | # | ||
| 1209 | # Hash modes | ||
| 1210 | # | ||
| 1211 | # CONFIG_CRYPTO_HMAC is not set | ||
| 1212 | # CONFIG_CRYPTO_XCBC is not set | ||
| 1213 | # CONFIG_CRYPTO_VMAC is not set | ||
| 1214 | |||
| 1215 | # | ||
| 1216 | # Digest | ||
| 1217 | # | ||
| 1218 | CONFIG_CRYPTO_CRC32C=m | ||
| 1219 | # CONFIG_CRYPTO_GHASH is not set | ||
| 1220 | # CONFIG_CRYPTO_MD4 is not set | ||
| 1221 | CONFIG_CRYPTO_MD5=y | ||
| 1222 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
| 1223 | # CONFIG_CRYPTO_RMD128 is not set | ||
| 1224 | # CONFIG_CRYPTO_RMD160 is not set | ||
| 1225 | # CONFIG_CRYPTO_RMD256 is not set | ||
| 1226 | # CONFIG_CRYPTO_RMD320 is not set | ||
| 1227 | # CONFIG_CRYPTO_SHA1 is not set | ||
| 1228 | # CONFIG_CRYPTO_SHA256 is not set | ||
| 1229 | # CONFIG_CRYPTO_SHA512 is not set | ||
| 1230 | # CONFIG_CRYPTO_TGR192 is not set | ||
| 1231 | # CONFIG_CRYPTO_WP512 is not set | ||
| 1232 | |||
| 1233 | # | ||
| 1234 | # Ciphers | ||
| 1235 | # | ||
| 1236 | # CONFIG_CRYPTO_AES is not set | ||
| 1237 | # CONFIG_CRYPTO_ANUBIS is not set | ||
| 1238 | # CONFIG_CRYPTO_ARC4 is not set | ||
| 1239 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
| 1240 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
| 1241 | # CONFIG_CRYPTO_CAST5 is not set | ||
| 1242 | # CONFIG_CRYPTO_CAST6 is not set | ||
| 1243 | CONFIG_CRYPTO_DES=y | ||
| 1244 | # CONFIG_CRYPTO_FCRYPT is not set | ||
| 1245 | # CONFIG_CRYPTO_KHAZAD is not set | ||
| 1246 | # CONFIG_CRYPTO_SALSA20 is not set | ||
| 1247 | # CONFIG_CRYPTO_SEED is not set | ||
| 1248 | # CONFIG_CRYPTO_SERPENT is not set | ||
| 1249 | # CONFIG_CRYPTO_TEA is not set | ||
| 1250 | # CONFIG_CRYPTO_TWOFISH is not set | ||
| 1251 | |||
| 1252 | # | ||
| 1253 | # Compression | ||
| 1254 | # | ||
| 1255 | CONFIG_CRYPTO_DEFLATE=y | ||
| 1256 | # CONFIG_CRYPTO_ZLIB is not set | ||
| 1257 | CONFIG_CRYPTO_LZO=y | ||
| 1258 | |||
| 1259 | # | ||
| 1260 | # Random Number Generation | ||
| 1261 | # | ||
| 1262 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
| 1263 | # CONFIG_CRYPTO_HW is not set | ||
| 1264 | # CONFIG_BINARY_PRINTF is not set | ||
| 1265 | |||
| 1266 | # | ||
| 1267 | # Library routines | ||
| 1268 | # | ||
| 1269 | CONFIG_BITREVERSE=y | ||
| 1270 | CONFIG_RATIONAL=y | ||
| 1271 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
| 1272 | CONFIG_CRC_CCITT=m | ||
| 1273 | CONFIG_CRC16=y | ||
| 1274 | CONFIG_CRC_T10DIF=y | ||
| 1275 | CONFIG_CRC_ITU_T=m | ||
| 1276 | CONFIG_CRC32=y | ||
| 1277 | CONFIG_CRC7=m | ||
| 1278 | CONFIG_LIBCRC32C=m | ||
| 1279 | CONFIG_ZLIB_INFLATE=y | ||
| 1280 | CONFIG_ZLIB_DEFLATE=y | ||
| 1281 | CONFIG_LZO_COMPRESS=y | ||
| 1282 | CONFIG_LZO_DECOMPRESS=y | ||
| 1283 | CONFIG_HAS_IOMEM=y | ||
| 1284 | CONFIG_HAS_IOPORT=y | ||
| 1285 | CONFIG_HAS_DMA=y | ||
| 1286 | CONFIG_NLATTR=y | ||
| @@ -308,6 +308,7 @@ CONFIG_PM_SLEEP=y · 307 unmodified lines | |||
| 308 | CONFIG_SUSPEND_UP_POSSIBLE=y | 308 | CONFIG_SUSPEND_UP_POSSIBLE=y |
| 309 | CONFIG_SUSPEND=y | 309 | CONFIG_SUSPEND=y |
| 310 | # CONFIG_APM_EMULATION is not set | 310 | # CONFIG_APM_EMULATION is not set |
| 311 | CONFIG_PM_RUNTIME=y | ||
| 311 | 312 | ||
| 312 | # | 313 | # |
| 313 | # Networking | 314 | # Networking |
| @@ -191,6 +191,7 @@ CONFIG_ARCH_OMAP=y · 190 unmodified lines | |||
| 191 | # | 191 | # |
| 192 | CONFIG_ARCH_OMAP_OTG=y | 192 | CONFIG_ARCH_OMAP_OTG=y |
| 193 | # CONFIG_ARCH_OMAP1 is not set | 193 | # CONFIG_ARCH_OMAP1 is not set |
| 194 | CONFIG_ARCH_OMAP2PLUS=y | ||
| 194 | CONFIG_ARCH_OMAP2=y | 195 | CONFIG_ARCH_OMAP2=y |
| 195 | # CONFIG_ARCH_OMAP3 is not set | 196 | # CONFIG_ARCH_OMAP3 is not set |
| 196 | # CONFIG_ARCH_OMAP4 is not set | 197 | # CONFIG_ARCH_OMAP4 is not set |
| @@ -198,8 +199,6 @@ CONFIG_ARCH_OMAP2=y · 1 unmodified line | |||
| 198 | # | 199 | # |
| 199 | # OMAP Feature Selections | 200 | # OMAP Feature Selections |
| 200 | # | 201 | # |
| 201 | # CONFIG_OMAP_DEBUG_POWERDOMAIN is not set | ||
| 202 | # CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set | ||
| 203 | CONFIG_OMAP_RESET_CLOCKS=y | 202 | CONFIG_OMAP_RESET_CLOCKS=y |
| 204 | # CONFIG_OMAP_MUX is not set | 203 | # CONFIG_OMAP_MUX is not set |
| 205 | # CONFIG_OMAP_MCBSP is not set | 204 | # CONFIG_OMAP_MCBSP is not set |
| @@ -208,15 +207,13 @@ CONFIG_OMAP_MBOX_FWK=y · 2 unmodified lines | |||
| 208 | CONFIG_OMAP_32K_TIMER=y | 207 | CONFIG_OMAP_32K_TIMER=y |
| 209 | CONFIG_OMAP_32K_TIMER_HZ=128 | 208 | CONFIG_OMAP_32K_TIMER_HZ=128 |
| 210 | CONFIG_OMAP_DM_TIMER=y | 209 | CONFIG_OMAP_DM_TIMER=y |
| 211 | # CONFIG_OMAP_LL_DEBUG_UART1 is not set | 210 | # CONFIG_OMAP_PM_NONE is not set |
| 212 | # CONFIG_OMAP_LL_DEBUG_UART2 is not set | 211 | CONFIG_OMAP_PM_NOOP=y |
| 213 | CONFIG_OMAP_LL_DEBUG_UART3=y | ||
| 214 | # CONFIG_MACH_OMAP_GENERIC is not set | 212 | # CONFIG_MACH_OMAP_GENERIC is not set |
| 215 | 213 | ||
| 216 | # | 214 | # |
| 217 | # OMAP Core Type | 215 | # OMAP Core Type |
| 218 | # | 216 | # |
| 219 | CONFIG_ARCH_OMAP24XX=y | ||
| 220 | CONFIG_ARCH_OMAP2420=y | 217 | CONFIG_ARCH_OMAP2420=y |
| 221 | # CONFIG_ARCH_OMAP2430 is not set | 218 | # CONFIG_ARCH_OMAP2430 is not set |
| 222 | 219 | ||
| @@ -227,6 +224,9 @@ CONFIG_MACH_OMAP2_TUSB6010=y · 4 unmodified lines | |||
| 227 | # CONFIG_MACH_OMAP_H4 is not set | 224 | # CONFIG_MACH_OMAP_H4 is not set |
| 228 | # CONFIG_MACH_OMAP_APOLLON is not set | 225 | # CONFIG_MACH_OMAP_APOLLON is not set |
| 229 | # CONFIG_MACH_OMAP_2430SDP is not set | 226 | # CONFIG_MACH_OMAP_2430SDP is not set |
| 227 | CONFIG_MACH_NOKIA_N800=y | ||
| 228 | CONFIG_MACH_NOKIA_N810=y | ||
| 229 | CONFIG_MACH_NOKIA_N810_WIMAX=y | ||
| 230 | CONFIG_MACH_NOKIA_N8X0=y | 230 | CONFIG_MACH_NOKIA_N8X0=y |
| 231 | 231 | ||
| 232 | # | 232 | # |
| @@ -303,7 +303,7 @@ CONFIG_ALIGNMENT_TRAP=y · 70 unmodified lines | |||
| 303 | CONFIG_ZBOOT_ROM_TEXT=0x10C08000 | 303 | CONFIG_ZBOOT_ROM_TEXT=0x10C08000 |
| 304 | CONFIG_ZBOOT_ROM_BSS=0x10200000 | 304 | CONFIG_ZBOOT_ROM_BSS=0x10200000 |
| 305 | # CONFIG_ZBOOT_ROM is not set | 305 | # CONFIG_ZBOOT_ROM is not set |
| 306 | CONFIG_CMDLINE="root=1f03 rootfstype=jffs2 console=ttyS2,115200n8" | 306 | CONFIG_CMDLINE="root=/dev/mmcblk0p2 console=ttyS2,115200n8 debug earlyprintk rootwait" |
| 307 | # CONFIG_XIP_KERNEL is not set | 307 | # CONFIG_XIP_KERNEL is not set |
| 308 | # CONFIG_KEXEC is not set | 308 | # CONFIG_KEXEC is not set |
| 309 | 309 | ||
| @@ -337,7 +337,14 @@ CONFIG_HAVE_AOUT=y · 27 unmodified lines | |||
| 337 | # | 337 | # |
| 338 | # Power management options | 338 | # Power management options |
| 339 | # | 339 | # |
| 340 | # CONFIG_PM is not set | 340 | CONFIG_PM=y |
| 341 | # CONFIG_PM_DEBUG is not set | ||
| 342 | CONFIG_PM_SLEEP=y | ||
| 343 | CONFIG_SUSPEND=y | ||
| 344 | CONFIG_SUSPEND_FREEZER=y | ||
| 345 | # CONFIG_APM_EMULATION is not set | ||
| 346 | CONFIG_PM_RUNTIME=y | ||
| 347 | CONFIG_PM_OPS=y | ||
| 341 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 348 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 342 | CONFIG_NET=y | 349 | CONFIG_NET=y |
| 343 | 350 | ||
| @@ -617,7 +624,55 @@ CONFIG_UNIX98_PTYS=y · 273 unmodified lines | |||
| 617 | # CONFIG_R3964 is not set | 624 | # CONFIG_R3964 is not set |
| 618 | # CONFIG_RAW_DRIVER is not set | 625 | # CONFIG_RAW_DRIVER is not set |
| 619 | # CONFIG_TCG_TPM is not set | 626 | # CONFIG_TCG_TPM is not set |
| 620 | # CONFIG_I2C is not set | 627 | CONFIG_I2C=y |
| 628 | CONFIG_I2C_BOARDINFO=y | ||
| 629 | # CONFIG_I2C_COMPAT is not set | ||
| 630 | # CONFIG_I2C_CHARDEV is not set | ||
| 631 | # CONFIG_I2C_HELPER_AUTO is not set | ||
| 632 | # CONFIG_I2C_SMBUS is not set | ||
| 633 | |||
| 634 | # | ||
| 635 | # I2C Algorithms | ||
| 636 | # | ||
| 637 | # CONFIG_I2C_ALGOBIT is not set | ||
| 638 | # CONFIG_I2C_ALGOPCF is not set | ||
| 639 | # CONFIG_I2C_ALGOPCA is not set | ||
| 640 | |||
| 641 | # | ||
| 642 | # I2C Hardware Bus support | ||
| 643 | # | ||
| 644 | |||
| 645 | # | ||
| 646 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
| 647 | # | ||
| 648 | # CONFIG_I2C_DESIGNWARE is not set | ||
| 649 | # CONFIG_I2C_GPIO is not set | ||
| 650 | # CONFIG_I2C_OCORES is not set | ||
| 651 | CONFIG_I2C_OMAP=y | ||
| 652 | # CONFIG_I2C_SIMTEC is not set | ||
| 653 | # CONFIG_I2C_XILINX is not set | ||
| 654 | |||
| 655 | # | ||
| 656 | # External I2C/SMBus adapter drivers | ||
| 657 | # | ||
| 658 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
| 659 | # CONFIG_I2C_TAOS_EVM is not set | ||
| 660 | # CONFIG_I2C_TINY_USB is not set | ||
| 661 | |||
| 662 | # | ||
| 663 | # Other I2C/SMBus bus drivers | ||
| 664 | # | ||
| 665 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
| 666 | # CONFIG_I2C_STUB is not set | ||
| 667 | |||
| 668 | # | ||
| 669 | # Miscellaneous I2C Chip support | ||
| 670 | # | ||
| 671 | # CONFIG_SENSORS_TSL2550 is not set | ||
| 672 | # CONFIG_I2C_DEBUG_CORE is not set | ||
| 673 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
| 674 | # CONFIG_I2C_DEBUG_BUS is not set | ||
| 675 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
| 621 | CONFIG_SPI=y | 676 | CONFIG_SPI=y |
| 622 | # CONFIG_SPI_DEBUG is not set | 677 | # CONFIG_SPI_DEBUG is not set |
| 623 | CONFIG_SPI_MASTER=y | 678 | CONFIG_SPI_MASTER=y |
| @@ -673,15 +728,44 @@ CONFIG_SSB_POSSIBLE=y · 49 unmodified lines | |||
| 673 | # Multifunction device drivers | 728 | # Multifunction device drivers |
| 674 | # | 729 | # |
| 675 | # CONFIG_MFD_CORE is not set | 730 | # CONFIG_MFD_CORE is not set |
| 731 | # CONFIG_MFD_88PM860X is not set | ||
| 676 | # CONFIG_MFD_SM501 is not set | 732 | # CONFIG_MFD_SM501 is not set |
| 677 | # CONFIG_MFD_ASIC3 is not set | 733 | # CONFIG_MFD_ASIC3 is not set |
| 678 | # CONFIG_HTC_EGPIO is not set | 734 | # CONFIG_HTC_EGPIO is not set |
| 679 | # CONFIG_HTC_PASIC3 is not set | 735 | # CONFIG_HTC_PASIC3 is not set |
| 736 | # CONFIG_HTC_I2CPLD is not set | ||
| 737 | # CONFIG_TPS65010 is not set | ||
| 738 | CONFIG_MENELAUS=y | ||
| 739 | # CONFIG_TWL4030_CORE is not set | ||
| 680 | # CONFIG_MFD_TMIO is not set | 740 | # CONFIG_MFD_TMIO is not set |
| 681 | # CONFIG_MFD_T7L66XB is not set | 741 | # CONFIG_MFD_T7L66XB is not set |
| 682 | # CONFIG_MFD_TC6387XB is not set | 742 | # CONFIG_MFD_TC6387XB is not set |
| 683 | # CONFIG_MFD_TC6393XB is not set | 743 | # CONFIG_MFD_TC6393XB is not set |
| 744 | # CONFIG_PMIC_DA903X is not set | ||
| 745 | # CONFIG_PMIC_ADP5520 is not set | ||
| 746 | # CONFIG_MFD_MAX8925 is not set | ||
| 747 | # CONFIG_MFD_WM8400 is not set | ||
| 748 | # CONFIG_MFD_WM831X is not set | ||
| 749 | # CONFIG_MFD_WM8350_I2C is not set | ||
| 750 | # CONFIG_MFD_WM8994 is not set | ||
| 751 | # CONFIG_MFD_PCF50633 is not set | ||
| 752 | # CONFIG_MFD_MC13783 is not set | ||
| 753 | # CONFIG_AB3100_CORE is not set | ||
| 684 | # CONFIG_EZX_PCAP is not set | 754 | # CONFIG_EZX_PCAP is not set |
| 755 | # CONFIG_AB4500_CORE is not set | ||
| 756 | CONFIG_REGULATOR=y | ||
| 757 | # CONFIG_REGULATOR_DEBUG is not set | ||
| 758 | # CONFIG_REGULATOR_DUMMY is not set | ||
| 759 | # CONFIG_REGULATOR_FIXED_VOLTAGE is not set | ||
| 760 | # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set | ||
| 761 | # CONFIG_REGULATOR_USERSPACE_CONSUMER is not set | ||
| 762 | # CONFIG_REGULATOR_BQ24022 is not set | ||
| 763 | # CONFIG_REGULATOR_MAX1586 is not set | ||
| 764 | # CONFIG_REGULATOR_MAX8649 is not set | ||
| 765 | # CONFIG_REGULATOR_MAX8660 is not set | ||
| 766 | # CONFIG_REGULATOR_LP3971 is not set | ||
| 767 | # CONFIG_REGULATOR_TPS65023 is not set | ||
| 768 | # CONFIG_REGULATOR_TPS6507X is not set | ||
| 685 | # CONFIG_MEDIA_SUPPORT is not set | 769 | # CONFIG_MEDIA_SUPPORT is not set |
| 686 | 770 | ||
| 687 | # | 771 | # |
| @@ -718,7 +802,10 @@ CONFIG_USB_ANNOUNCE_NEW_DEVICES=y · 30 unmodified lines | |||
| 718 | CONFIG_USB_DEVICEFS=y | 802 | CONFIG_USB_DEVICEFS=y |
| 719 | CONFIG_USB_DEVICE_CLASS=y | 803 | CONFIG_USB_DEVICE_CLASS=y |
| 720 | # CONFIG_USB_DYNAMIC_MINORS is not set | 804 | # CONFIG_USB_DYNAMIC_MINORS is not set |
| 721 | # CONFIG_USB_OTG is not set | 805 | CONFIG_USB_SUSPEND=y |
| 806 | CONFIG_USB_OTG=y | ||
| 807 | # CONFIG_USB_OTG_WHITELIST is not set | ||
| 808 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
| 722 | # CONFIG_USB_MON is not set | 809 | # CONFIG_USB_MON is not set |
| 723 | # CONFIG_USB_WUSB is not set | 810 | # CONFIG_USB_WUSB is not set |
| 724 | # CONFIG_USB_WUSB_CBAF is not set | 811 | # CONFIG_USB_WUSB_CBAF is not set |
| @@ -737,9 +824,10 @@ CONFIG_USB_DEVICE_CLASS=y · 12 unmodified lines | |||
| 737 | CONFIG_USB_MUSB_HDRC=y | 824 | CONFIG_USB_MUSB_HDRC=y |
| 738 | CONFIG_USB_TUSB6010=y | 825 | CONFIG_USB_TUSB6010=y |
| 739 | # CONFIG_USB_MUSB_HOST is not set | 826 | # CONFIG_USB_MUSB_HOST is not set |
| 740 | CONFIG_USB_MUSB_PERIPHERAL=y | 827 | # CONFIG_USB_MUSB_PERIPHERAL is not set |
| 741 | # CONFIG_USB_MUSB_OTG is not set | 828 | CONFIG_USB_MUSB_OTG=y |
| 742 | CONFIG_USB_GADGET_MUSB_HDRC=y | 829 | CONFIG_USB_GADGET_MUSB_HDRC=y |
| 830 | CONFIG_USB_MUSB_HDRC_HCD=y | ||
| 743 | # CONFIG_MUSB_PIO_ONLY is not set | 831 | # CONFIG_MUSB_PIO_ONLY is not set |
| 744 | # CONFIG_USB_INVENTRA_DMA is not set | 832 | # CONFIG_USB_INVENTRA_DMA is not set |
| 745 | # CONFIG_USB_TI_CPPI_DMA is not set | 833 | # CONFIG_USB_TI_CPPI_DMA is not set |
| @@ -824,44 +912,77 @@ CONFIG_USB_GADGET_DUALSPEED=y · 78 unmodified lines | |||
| 824 | # CONFIG_USB_ZERO is not set | 912 | # CONFIG_USB_ZERO is not set |
| 825 | # CONFIG_USB_AUDIO is not set | 913 | # CONFIG_USB_AUDIO is not set |
| 826 | CONFIG_USB_ETH=y | 914 | CONFIG_USB_ETH=y |
| 827 | # CONFIG_USB_ETH_RNDIS is not set | 915 | CONFIG_USB_ETH_RNDIS=y |
| 916 | CONFIG_USB_ETH_EEM=y | ||
| 828 | # CONFIG_USB_GADGETFS is not set | 917 | # CONFIG_USB_GADGETFS is not set |
| 829 | # CONFIG_USB_FILE_STORAGE is not set | 918 | # CONFIG_USB_FILE_STORAGE is not set |
| 919 | # CONFIG_USB_MASS_STORAGE is not set | ||
| 830 | # CONFIG_USB_G_SERIAL is not set | 920 | # CONFIG_USB_G_SERIAL is not set |
| 831 | # CONFIG_USB_MIDI_GADGET is not set | 921 | # CONFIG_USB_MIDI_GADGET is not set |
| 832 | # CONFIG_USB_G_PRINTER is not set | 922 | # CONFIG_USB_G_PRINTER is not set |
| 833 | # CONFIG_USB_CDC_COMPOSITE is not set | 923 | # CONFIG_USB_CDC_COMPOSITE is not set |
| 924 | # CONFIG_USB_G_NOKIA is not set | ||
| 925 | # CONFIG_USB_G_MULTI is not set | ||
| 834 | 926 | ||
| 835 | # | 927 | # |
| 836 | # OTG and related infrastructure | 928 | # OTG and related infrastructure |
| 837 | # | 929 | # |
| 838 | CONFIG_USB_OTG_UTILS=y | 930 | CONFIG_USB_OTG_UTILS=y |
| 839 | # CONFIG_USB_GPIO_VBUS is not set | 931 | # CONFIG_USB_GPIO_VBUS is not set |
| 932 | # CONFIG_ISP1301_OMAP is not set | ||
| 933 | # CONFIG_USB_ULPI is not set | ||
| 840 | CONFIG_NOP_USB_XCEIV=y | 934 | CONFIG_NOP_USB_XCEIV=y |
| 841 | # CONFIG_MMC is not set | 935 | CONFIG_MMC=y |
| 936 | # CONFIG_MMC_DEBUG is not set | ||
| 937 | # CONFIG_MMC_UNSAFE_RESUME is not set | ||
| 938 | |||
| 939 | # | ||
| 940 | # MMC/SD/SDIO Card Drivers | ||
| 941 | # | ||
| 942 | CONFIG_MMC_BLOCK=y | ||
| 943 | CONFIG_MMC_BLOCK_BOUNCE=y | ||
| 944 | # CONFIG_SDIO_UART is not set | ||
| 945 | # CONFIG_MMC_TEST is not set | ||
| 946 | |||
| 947 | # | ||
| 948 | # MMC/SD/SDIO Host Controller Drivers | ||
| 949 | # | ||
| 950 | # CONFIG_MMC_SDHCI is not set | ||
| 951 | CONFIG_MMC_OMAP=y | ||
| 952 | # CONFIG_MMC_SPI is not set | ||
| 842 | # CONFIG_MEMSTICK is not set | 953 | # CONFIG_MEMSTICK is not set |
| 843 | # CONFIG_ACCESSIBILITY is not set | ||
| 844 | # CONFIG_NEW_LEDS is not set | 954 | # CONFIG_NEW_LEDS is not set |
| 955 | # CONFIG_ACCESSIBILITY is not set | ||
| 845 | CONFIG_RTC_LIB=y | 956 | CONFIG_RTC_LIB=y |
| 846 | # CONFIG_RTC_CLASS is not set | 957 | # CONFIG_RTC_CLASS is not set |
| 847 | # CONFIG_DMADEVICES is not set | 958 | # CONFIG_DMADEVICES is not set |
| 848 | # CONFIG_AUXDISPLAY is not set | 959 | # CONFIG_AUXDISPLAY is not set |
| 849 | # CONFIG_REGULATOR is not set | ||
| 850 | # CONFIG_UIO is not set | 960 | # CONFIG_UIO is not set |
| 961 | |||
| 962 | # | ||
| 963 | # TI VLYNQ | ||
| 964 | # | ||
| 851 | # CONFIG_STAGING is not set | 965 | # CONFIG_STAGING is not set |
| 852 | 966 | ||
| 853 | # | 967 | # |
| 854 | # File systems | 968 | # File systems |
| 855 | # | 969 | # |
| 856 | # CONFIG_EXT2_FS is not set | 970 | # CONFIG_EXT2_FS is not set |
| 857 | # CONFIG_EXT3_FS is not set | 971 | CONFIG_EXT3_FS=y |
| 972 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
| 973 | CONFIG_EXT3_FS_XATTR=y | ||
| 974 | # CONFIG_EXT3_FS_POSIX_ACL is not set | ||
| 975 | # CONFIG_EXT3_FS_SECURITY is not set | ||
| 858 | # CONFIG_EXT4_FS is not set | 976 | # CONFIG_EXT4_FS is not set |
| 977 | CONFIG_JBD=y | ||
| 978 | CONFIG_FS_MBCACHE=y | ||
| 859 | # CONFIG_REISERFS_FS is not set | 979 | # CONFIG_REISERFS_FS is not set |
| 860 | # CONFIG_JFS_FS is not set | 980 | # CONFIG_JFS_FS is not set |
| 861 | # CONFIG_FS_POSIX_ACL is not set | 981 | # CONFIG_FS_POSIX_ACL is not set |
| 862 | # CONFIG_XFS_FS is not set | 982 | # CONFIG_XFS_FS is not set |
| 863 | # CONFIG_OCFS2_FS is not set | 983 | # CONFIG_OCFS2_FS is not set |
| 864 | # CONFIG_BTRFS_FS is not set | 984 | # CONFIG_BTRFS_FS is not set |
| 985 | # CONFIG_NILFS2_FS is not set | ||
| 865 | CONFIG_FILE_LOCKING=y | 986 | CONFIG_FILE_LOCKING=y |
| 866 | CONFIG_FSNOTIFY=y | 987 | CONFIG_FSNOTIFY=y |
| 867 | CONFIG_DNOTIFY=y | 988 | CONFIG_DNOTIFY=y |
| @@ -886,8 +1007,11 @@ CONFIG_INOTIFY_USER=y · 18 unmodified lines | |||
| 886 | # | 1007 | # |
| 887 | # DOS/FAT/NT Filesystems | 1008 | # DOS/FAT/NT Filesystems |
| 888 | # | 1009 | # |
| 1010 | CONFIG_FAT_FS=y | ||
| 889 | # CONFIG_MSDOS_FS is not set | 1011 | # CONFIG_MSDOS_FS is not set |
| 890 | # CONFIG_VFAT_FS is not set | 1012 | CONFIG_VFAT_FS=y |
| 1013 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
| 1014 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
| 891 | # CONFIG_NTFS_FS is not set | 1015 | # CONFIG_NTFS_FS is not set |
| 892 | 1016 | ||
| 893 | # | 1017 | # |
| @@ -590,8 +590,40 @@ CONFIG_SSB_POSSIBLE=y · 589 unmodified lines | |||
| 590 | # | 590 | # |
| 591 | # CONFIG_VGASTATE is not set | 591 | # CONFIG_VGASTATE is not set |
| 592 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | 592 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set |
| 593 | # CONFIG_FB is not set | ||
| 594 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 593 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
| 594 | CONFIG_FB=y | ||
| 595 | # CONFIG_FIRMWARE_EDID is not set | ||
| 596 | # CONFIG_FB_DDC is not set | ||
| 597 | # CONFIG_FB_BOOT_VESA_SUPPORT is not set | ||
| 598 | CONFIG_FB_CFB_FILLRECT=y | ||
| 599 | CONFIG_FB_CFB_COPYAREA=y | ||
| 600 | CONFIG_FB_CFB_IMAGEBLIT=y | ||
| 601 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
| 602 | # CONFIG_FB_SYS_FILLRECT is not set | ||
| 603 | # CONFIG_FB_SYS_COPYAREA is not set | ||
| 604 | # CONFIG_FB_SYS_IMAGEBLIT is not set | ||
| 605 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
| 606 | # CONFIG_FB_SYS_FOPS is not set | ||
| 607 | # CONFIG_FB_SVGALIB is not set | ||
| 608 | # CONFIG_FB_MACMODES is not set | ||
| 609 | # CONFIG_FB_BACKLIGHT is not set | ||
| 610 | # CONFIG_FB_MODE_HELPERS is not set | ||
| 611 | # CONFIG_FB_TILEBLITTING is not set | ||
| 612 | |||
| 613 | # | ||
| 614 | # Frame buffer hardware drivers | ||
| 615 | # | ||
| 616 | # CONFIG_FB_S1D13XXX is not set | ||
| 617 | CONFIG_FB_NUC900=y | ||
| 618 | CONFIG_GPM1040A0_320X240=y | ||
| 619 | CONFIG_FB_NUC900_DEBUG=y | ||
| 620 | # CONFIG_FB_VIRTUAL is not set | ||
| 621 | # CONFIG_FB_METRONOME is not set | ||
| 622 | # CONFIG_FB_MB862XX is not set | ||
| 623 | # CONFIG_FB_BROADSHEET is not set | ||
| 624 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
| 625 | |||
| 626 | |||
| 595 | 627 | ||
| 596 | # | 628 | # |
| 597 | # Display device support | 629 | # Display device support |
| @@ -603,6 +635,25 @@ CONFIG_SSB_POSSIBLE=y · 5 unmodified lines | |||
| 603 | # | 635 | # |
| 604 | # CONFIG_VGA_CONSOLE is not set | 636 | # CONFIG_VGA_CONSOLE is not set |
| 605 | CONFIG_DUMMY_CONSOLE=y | 637 | CONFIG_DUMMY_CONSOLE=y |
| 638 | CONFIG_FRAMEBUFFER_CONSOLE=y | ||
| 639 | CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y | ||
| 640 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set | ||
| 641 | CONFIG_FONTS=y | ||
| 642 | # CONFIG_FONT_8x8 is not set | ||
| 643 | CONFIG_FONT_8x16=y | ||
| 644 | # CONFIG_FONT_6x11 is not set | ||
| 645 | # CONFIG_FONT_7x14 is not set | ||
| 646 | # CONFIG_FONT_PEARL_8x8 is not set | ||
| 647 | # CONFIG_FONT_ACORN_8x8 is not set | ||
| 648 | # CONFIG_FONT_MINI_4x6 is not set | ||
| 649 | # CONFIG_FONT_SUN8x16 is not set | ||
| 650 | # CONFIG_FONT_SUN12x22 is not set | ||
| 651 | # CONFIG_FONT_10x18 is not set | ||
| 652 | CONFIG_LOGO=y | ||
| 653 | # CONFIG_LOGO_LINUX_MONO is not set | ||
| 654 | # CONFIG_LOGO_LINUX_VGA16 is not set | ||
| 655 | CONFIG_LOGO_LINUX_CLUT224=y | ||
| 656 | |||
| 606 | # CONFIG_SOUND is not set | 657 | # CONFIG_SOUND is not set |
| 607 | # CONFIG_HID_SUPPORT is not set | 658 | # CONFIG_HID_SUPPORT is not set |
| 608 | CONFIG_USB_SUPPORT=y | 659 | CONFIG_USB_SUPPORT=y |
| @@ -324,6 +324,7 @@ CONFIG_PM_SLEEP=y · 323 unmodified lines | |||
| 324 | CONFIG_SUSPEND=y | 324 | CONFIG_SUSPEND=y |
| 325 | CONFIG_SUSPEND_FREEZER=y | 325 | CONFIG_SUSPEND_FREEZER=y |
| 326 | # CONFIG_APM_EMULATION is not set | 326 | # CONFIG_APM_EMULATION is not set |
| 327 | CONFIG_PM_RUNTIME=y | ||
| 327 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 328 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 328 | CONFIG_NET=y | 329 | CONFIG_NET=y |
| 329 | 330 | ||
| @@ -450,7 +450,7 @@ CONFIG_SUSPEND=y · 449 unmodified lines | |||
| 450 | # CONFIG_PM_TEST_SUSPEND is not set | 450 | # CONFIG_PM_TEST_SUSPEND is not set |
| 451 | CONFIG_SUSPEND_FREEZER=y | 451 | CONFIG_SUSPEND_FREEZER=y |
| 452 | # CONFIG_APM_EMULATION is not set | 452 | # CONFIG_APM_EMULATION is not set |
| 453 | # CONFIG_PM_RUNTIME is not set | 453 | CONFIG_PM_RUNTIME=y |
| 454 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 454 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 455 | CONFIG_NET=y | 455 | CONFIG_NET=y |
| 456 | 456 | ||
| @@ -340,6 +340,7 @@ CONFIG_PM_SLEEP=y · 339 unmodified lines | |||
| 340 | CONFIG_SUSPEND=y | 340 | CONFIG_SUSPEND=y |
| 341 | CONFIG_SUSPEND_FREEZER=y | 341 | CONFIG_SUSPEND_FREEZER=y |
| 342 | # CONFIG_APM_EMULATION is not set | 342 | # CONFIG_APM_EMULATION is not set |
| 343 | CONFIG_PM_RUNTIME=y | ||
| 343 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 344 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 344 | CONFIG_NET=y | 345 | CONFIG_NET=y |
| 345 | 346 | ||
| @@ -368,7 +368,7 @@ CONFIG_SUSPEND=y · 367 unmodified lines | |||
| 368 | # CONFIG_PM_TEST_SUSPEND is not set | 368 | # CONFIG_PM_TEST_SUSPEND is not set |
| 369 | CONFIG_SUSPEND_FREEZER=y | 369 | CONFIG_SUSPEND_FREEZER=y |
| 370 | # CONFIG_APM_EMULATION is not set | 370 | # CONFIG_APM_EMULATION is not set |
| 371 | # CONFIG_PM_RUNTIME is not set | 371 | CONFIG_PM_RUNTIME=y |
| 372 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 372 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 373 | CONFIG_NET=y | 373 | CONFIG_NET=y |
| 374 | 374 | ||
| @@ -363,6 +363,7 @@ CONFIG_PM_SLEEP=y · 362 unmodified lines | |||
| 363 | CONFIG_SUSPEND=y | 363 | CONFIG_SUSPEND=y |
| 364 | CONFIG_SUSPEND_FREEZER=y | 364 | CONFIG_SUSPEND_FREEZER=y |
| 365 | # CONFIG_APM_EMULATION is not set | 365 | # CONFIG_APM_EMULATION is not set |
| 366 | CONFIG_PM_RUNTIME=y | ||
| 366 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 367 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 367 | CONFIG_NET=y | 368 | CONFIG_NET=y |
| 368 | 369 | ||
| @@ -361,7 +361,7 @@ CONFIG_SUSPEND=y · 360 unmodified lines | |||
| 361 | # CONFIG_PM_TEST_SUSPEND is not set | 361 | # CONFIG_PM_TEST_SUSPEND is not set |
| 362 | CONFIG_SUSPEND_FREEZER=y | 362 | CONFIG_SUSPEND_FREEZER=y |
| 363 | # CONFIG_APM_EMULATION is not set | 363 | # CONFIG_APM_EMULATION is not set |
| 364 | # CONFIG_PM_RUNTIME is not set | 364 | CONFIG_PM_RUNTIME=y |
| 365 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 365 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 366 | CONFIG_NET=y | 366 | CONFIG_NET=y |
| 367 | 367 | ||
| @@ -331,6 +331,7 @@ CONFIG_PM_SLEEP=y · 330 unmodified lines | |||
| 331 | CONFIG_SUSPEND=y | 331 | CONFIG_SUSPEND=y |
| 332 | CONFIG_SUSPEND_FREEZER=y | 332 | CONFIG_SUSPEND_FREEZER=y |
| 333 | # CONFIG_APM_EMULATION is not set | 333 | # CONFIG_APM_EMULATION is not set |
| 334 | CONFIG_PM_RUNTIME=y | ||
| 334 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 335 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 335 | 336 | ||
| 336 | # | 337 | # |
| @@ -343,6 +343,7 @@ CONFIG_SUSPEND=y · 342 unmodified lines | |||
| 343 | # CONFIG_PM_TEST_SUSPEND is not set | 343 | # CONFIG_PM_TEST_SUSPEND is not set |
| 344 | CONFIG_SUSPEND_FREEZER=y | 344 | CONFIG_SUSPEND_FREEZER=y |
| 345 | # CONFIG_APM_EMULATION is not set | 345 | # CONFIG_APM_EMULATION is not set |
| 346 | CONFIG_PM_RUNTIME=y | ||
| 346 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 347 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 347 | CONFIG_NET=y | 348 | CONFIG_NET=y |
| 348 | 349 | ||
| @@ -361,7 +361,7 @@ CONFIG_SUSPEND=y · 360 unmodified lines | |||
| 361 | # CONFIG_PM_TEST_SUSPEND is not set | 361 | # CONFIG_PM_TEST_SUSPEND is not set |
| 362 | CONFIG_SUSPEND_FREEZER=y | 362 | CONFIG_SUSPEND_FREEZER=y |
| 363 | # CONFIG_APM_EMULATION is not set | 363 | # CONFIG_APM_EMULATION is not set |
| 364 | # CONFIG_PM_RUNTIME is not set | 364 | CONFIG_PM_RUNTIME=y |
| 365 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 365 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 366 | CONFIG_NET=y | 366 | CONFIG_NET=y |
| 367 | 367 | ||
| @@ -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.32-rc6 | 3 | # Linux kernel version: 2.6.33-rc6 |
| 4 | # Sat Nov 7 20:52:21 2009 | 4 | # Thu Feb 4 23:30:00 2010 |
| 5 | # | 5 | # |
| 6 | CONFIG_ARM=y | 6 | CONFIG_ARM=y |
| 7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | 7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y |
| @@ -32,6 +32,12 @@ CONFIG_LOCK_KERNEL=y · 24 unmodified lines | |||
| 32 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 32 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
| 33 | CONFIG_LOCALVERSION="" | 33 | CONFIG_LOCALVERSION="" |
| 34 | CONFIG_LOCALVERSION_AUTO=y | 34 | CONFIG_LOCALVERSION_AUTO=y |
| 35 | CONFIG_HAVE_KERNEL_GZIP=y | ||
| 36 | CONFIG_HAVE_KERNEL_LZO=y | ||
| 37 | CONFIG_KERNEL_GZIP=y | ||
| 38 | # CONFIG_KERNEL_BZIP2 is not set | ||
| 39 | # CONFIG_KERNEL_LZMA is not set | ||
| 40 | # CONFIG_KERNEL_LZO is not set | ||
| 35 | CONFIG_SWAP=y | 41 | CONFIG_SWAP=y |
| 36 | CONFIG_SYSVIPC=y | 42 | CONFIG_SYSVIPC=y |
| 37 | CONFIG_SYSVIPC_SYSCTL=y | 43 | CONFIG_SYSVIPC_SYSCTL=y |
| @@ -45,6 +51,7 @@ CONFIG_SYSVIPC_SYSCTL=y · 7 unmodified lines | |||
| 45 | # | 51 | # |
| 46 | CONFIG_TREE_RCU=y | 52 | CONFIG_TREE_RCU=y |
| 47 | # CONFIG_TREE_PREEMPT_RCU is not set | 53 | # CONFIG_TREE_PREEMPT_RCU is not set |
| 54 | # CONFIG_TINY_RCU is not set | ||
| 48 | # CONFIG_RCU_TRACE is not set | 55 | # CONFIG_RCU_TRACE is not set |
| 49 | CONFIG_RCU_FANOUT=32 | 56 | CONFIG_RCU_FANOUT=32 |
| 50 | # CONFIG_RCU_FANOUT_EXACT is not set | 57 | # CONFIG_RCU_FANOUT_EXACT is not set |
| @@ -122,14 +129,41 @@ CONFIG_LBDAF=y · 71 unmodified lines | |||
| 122 | # IO Schedulers | 129 | # IO Schedulers |
| 123 | # | 130 | # |
| 124 | CONFIG_IOSCHED_NOOP=y | 131 | CONFIG_IOSCHED_NOOP=y |
| 125 | CONFIG_IOSCHED_AS=y | ||
| 126 | CONFIG_IOSCHED_DEADLINE=y | 132 | CONFIG_IOSCHED_DEADLINE=y |
| 127 | CONFIG_IOSCHED_CFQ=y | 133 | CONFIG_IOSCHED_CFQ=y |
| 128 | # CONFIG_DEFAULT_AS is not set | ||
| 129 | # CONFIG_DEFAULT_DEADLINE is not set | 134 | # CONFIG_DEFAULT_DEADLINE is not set |
| 130 | CONFIG_DEFAULT_CFQ=y | 135 | CONFIG_DEFAULT_CFQ=y |
| 131 | # CONFIG_DEFAULT_NOOP is not set | 136 | # CONFIG_DEFAULT_NOOP is not set |
| 132 | CONFIG_DEFAULT_IOSCHED="cfq" | 137 | CONFIG_DEFAULT_IOSCHED="cfq" |
| 138 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
| 139 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
| 140 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
| 141 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
| 142 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
| 143 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
| 144 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
| 145 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
| 146 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
| 147 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
| 148 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
| 149 | # CONFIG_INLINE_READ_LOCK is not set | ||
| 150 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
| 151 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
| 152 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
| 153 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
| 154 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
| 155 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
| 156 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
| 157 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
| 158 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
| 159 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
| 160 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
| 161 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
| 162 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
| 163 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
| 164 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
| 165 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
| 166 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
| 133 | # CONFIG_FREEZER is not set | 167 | # CONFIG_FREEZER is not set |
| 134 | 168 | ||
| 135 | # | 169 | # |
| @@ -158,6 +192,7 @@ CONFIG_MMU=y · 22 unmodified lines | |||
| 158 | # CONFIG_ARCH_IXP2000 is not set | 192 | # CONFIG_ARCH_IXP2000 is not set |
| 159 | # CONFIG_ARCH_IXP4XX is not set | 193 | # CONFIG_ARCH_IXP4XX is not set |
| 160 | # CONFIG_ARCH_L7200 is not set | 194 | # CONFIG_ARCH_L7200 is not set |
| 195 | # CONFIG_ARCH_DOVE is not set | ||
| 161 | # CONFIG_ARCH_KIRKWOOD is not set | 196 | # CONFIG_ARCH_KIRKWOOD is not set |
| 162 | # CONFIG_ARCH_LOKI is not set | 197 | # CONFIG_ARCH_LOKI is not set |
| 163 | # CONFIG_ARCH_MV78XX0 is not set | 198 | # CONFIG_ARCH_MV78XX0 is not set |
| @@ -180,6 +215,7 @@ CONFIG_ARCH_ORION5X=y · 16 unmodified lines | |||
| 180 | # CONFIG_ARCH_DAVINCI is not set | 215 | # CONFIG_ARCH_DAVINCI is not set |
| 181 | # CONFIG_ARCH_OMAP is not set | 216 | # CONFIG_ARCH_OMAP is not set |
| 182 | # CONFIG_ARCH_BCMRING is not set | 217 | # CONFIG_ARCH_BCMRING is not set |
| 218 | # CONFIG_ARCH_U8500 is not set | ||
| 183 | 219 | ||
| 184 | # | 220 | # |
| 185 | # Orion Implementations | 221 | # Orion Implementations |
| @@ -192,6 +228,7 @@ CONFIG_MACH_TS209=y · 6 unmodified lines | |||
| 192 | CONFIG_MACH_TERASTATION_PRO2=y | 228 | CONFIG_MACH_TERASTATION_PRO2=y |
| 193 | CONFIG_MACH_LINKSTATION_PRO=y | 229 | CONFIG_MACH_LINKSTATION_PRO=y |
| 194 | CONFIG_MACH_LINKSTATION_MINI=y | 230 | CONFIG_MACH_LINKSTATION_MINI=y |
| 231 | CONFIG_MACH_LINKSTATION_LS_HGL=y | ||
| 195 | CONFIG_MACH_TS409=y | 232 | CONFIG_MACH_TS409=y |
| 196 | CONFIG_MACH_WRT350N_V2=y | 233 | CONFIG_MACH_WRT350N_V2=y |
| 197 | CONFIG_MACH_TS78XX=y | 234 | CONFIG_MACH_TS78XX=y |
| @@ -268,12 +305,10 @@ CONFIG_FLATMEM_MANUAL=y · 70 unmodified lines | |||
| 268 | CONFIG_FLATMEM=y | 305 | CONFIG_FLATMEM=y |
| 269 | CONFIG_FLAT_NODE_MEM_MAP=y | 306 | CONFIG_FLAT_NODE_MEM_MAP=y |
| 270 | CONFIG_PAGEFLAGS_EXTENDED=y | 307 | CONFIG_PAGEFLAGS_EXTENDED=y |
| 271 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | 308 | CONFIG_SPLIT_PTLOCK_CPUS=999999 |
| 272 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 309 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
| 273 | CONFIG_ZONE_DMA_FLAG=0 | 310 | CONFIG_ZONE_DMA_FLAG=0 |
| 274 | CONFIG_VIRT_TO_BUS=y | 311 | CONFIG_VIRT_TO_BUS=y |
| 275 | CONFIG_HAVE_MLOCK=y | ||
| 276 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
| 277 | # CONFIG_KSM is not set | 312 | # CONFIG_KSM is not set |
| 278 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 313 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
| 279 | CONFIG_LEDS=y | 314 | CONFIG_LEDS=y |
| @@ -412,10 +447,6 @@ CONFIG_NET_PKTGEN=m · 132 unmodified lines | |||
| 412 | # CONFIG_AF_RXRPC is not set | 447 | # CONFIG_AF_RXRPC is not set |
| 413 | CONFIG_WIRELESS=y | 448 | CONFIG_WIRELESS=y |
| 414 | # CONFIG_CFG80211 is not set | 449 | # CONFIG_CFG80211 is not set |
| 415 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
| 416 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
| 417 | CONFIG_WIRELESS_EXT=y | ||
| 418 | CONFIG_WIRELESS_EXT_SYSFS=y | ||
| 419 | # CONFIG_LIB80211 is not set | 450 | # CONFIG_LIB80211 is not set |
| 420 | 451 | ||
| 421 | # | 452 | # |
| @@ -554,6 +585,10 @@ CONFIG_BLK_DEV=y · 132 unmodified lines | |||
| 554 | # CONFIG_BLK_DEV_COW_COMMON is not set | 585 | # CONFIG_BLK_DEV_COW_COMMON is not set |
| 555 | CONFIG_BLK_DEV_LOOP=y | 586 | CONFIG_BLK_DEV_LOOP=y |
| 556 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 587 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set |
| 588 | |||
| 589 | # | ||
| 590 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
| 591 | # | ||
| 557 | # CONFIG_BLK_DEV_NBD is not set | 592 | # CONFIG_BLK_DEV_NBD is not set |
| 558 | # CONFIG_BLK_DEV_SX8 is not set | 593 | # CONFIG_BLK_DEV_SX8 is not set |
| 559 | # CONFIG_BLK_DEV_UB is not set | 594 | # CONFIG_BLK_DEV_UB is not set |
| @@ -562,6 +597,7 @@ CONFIG_BLK_DEV_LOOP=y · 2 unmodified lines | |||
| 562 | # CONFIG_ATA_OVER_ETH is not set | 597 | # CONFIG_ATA_OVER_ETH is not set |
| 563 | # CONFIG_MG_DISK is not set | 598 | # CONFIG_MG_DISK is not set |
| 564 | CONFIG_MISC_DEVICES=y | 599 | CONFIG_MISC_DEVICES=y |
| 600 | # CONFIG_AD525X_DPOT is not set | ||
| 565 | # CONFIG_PHANTOM is not set | 601 | # CONFIG_PHANTOM is not set |
| 566 | # CONFIG_SGI_IOC4 is not set | 602 | # CONFIG_SGI_IOC4 is not set |
| 567 | # CONFIG_TIFM_CORE is not set | 603 | # CONFIG_TIFM_CORE is not set |
| @@ -569,6 +605,7 @@ CONFIG_MISC_DEVICES=y · 1 unmodified line | |||
| 569 | # CONFIG_ENCLOSURE_SERVICES is not set | 605 | # CONFIG_ENCLOSURE_SERVICES is not set |
| 570 | # CONFIG_HP_ILO is not set | 606 | # CONFIG_HP_ILO is not set |
| 571 | # CONFIG_ISL29003 is not set | 607 | # CONFIG_ISL29003 is not set |
| 608 | # CONFIG_DS1682 is not set | ||
| 572 | # CONFIG_C2PORT is not set | 609 | # CONFIG_C2PORT is not set |
| 573 | 610 | ||
| 574 | # | 611 | # |
| @@ -621,7 +658,9 @@ CONFIG_SCSI_LOWLEVEL=y · 46 unmodified lines | |||
| 621 | # CONFIG_SCSI_BNX2_ISCSI is not set | 658 | # CONFIG_SCSI_BNX2_ISCSI is not set |
| 622 | # CONFIG_BE2ISCSI is not set | 659 | # CONFIG_BE2ISCSI is not set |
| 623 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 660 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
| 661 | # CONFIG_SCSI_HPSA is not set | ||
| 624 | # CONFIG_SCSI_3W_9XXX is not set | 662 | # CONFIG_SCSI_3W_9XXX is not set |
| 663 | # CONFIG_SCSI_3W_SAS is not set | ||
| 625 | # CONFIG_SCSI_ACARD is not set | 664 | # CONFIG_SCSI_ACARD is not set |
| 626 | # CONFIG_SCSI_AACRAID is not set | 665 | # CONFIG_SCSI_AACRAID is not set |
| 627 | # CONFIG_SCSI_AIC7XXX is not set | 666 | # CONFIG_SCSI_AIC7XXX is not set |
| @@ -657,6 +696,7 @@ CONFIG_SCSI_LOWLEVEL=y · 29 unmodified lines | |||
| 657 | # CONFIG_SCSI_NSP32 is not set | 696 | # CONFIG_SCSI_NSP32 is not set |
| 658 | # CONFIG_SCSI_DEBUG is not set | 697 | # CONFIG_SCSI_DEBUG is not set |
| 659 | # CONFIG_SCSI_PMCRAID is not set | 698 | # CONFIG_SCSI_PMCRAID is not set |
| 699 | # CONFIG_SCSI_PM8001 is not set | ||
| 660 | # CONFIG_SCSI_SRP is not set | 700 | # CONFIG_SCSI_SRP is not set |
| 661 | # CONFIG_SCSI_BFA_FC is not set | 701 | # CONFIG_SCSI_BFA_FC is not set |
| 662 | # CONFIG_SCSI_DH is not set | 702 | # CONFIG_SCSI_DH is not set |
| @@ -711,15 +751,16 @@ CONFIG_SATA_MV=y · 48 unmodified lines | |||
| 711 | # CONFIG_PATA_NS87415 is not set | 751 | # CONFIG_PATA_NS87415 is not set |
| 712 | # CONFIG_PATA_OPTI is not set | 752 | # CONFIG_PATA_OPTI is not set |
| 713 | # CONFIG_PATA_OPTIDMA is not set | 753 | # CONFIG_PATA_OPTIDMA is not set |
| 754 | # CONFIG_PATA_PDC2027X is not set | ||
| 714 | # CONFIG_PATA_PDC_OLD is not set | 755 | # CONFIG_PATA_PDC_OLD is not set |
| 715 | # CONFIG_PATA_RADISYS is not set | 756 | # CONFIG_PATA_RADISYS is not set |
| 716 | # CONFIG_PATA_RDC is not set | 757 | # CONFIG_PATA_RDC is not set |
| 717 | # CONFIG_PATA_RZ1000 is not set | 758 | # CONFIG_PATA_RZ1000 is not set |
| 718 | # CONFIG_PATA_SC1200 is not set | 759 | # CONFIG_PATA_SC1200 is not set |
| 719 | # CONFIG_PATA_SERVERWORKS is not set | 760 | # CONFIG_PATA_SERVERWORKS is not set |
| 720 | # CONFIG_PATA_PDC2027X is not set | ||
| 721 | # CONFIG_PATA_SIL680 is not set | 761 | # CONFIG_PATA_SIL680 is not set |
| 722 | # CONFIG_PATA_SIS is not set | 762 | # CONFIG_PATA_SIS is not set |
| 763 | # CONFIG_PATA_TOSHIBA is not set | ||
| 723 | # CONFIG_PATA_VIA is not set | 764 | # CONFIG_PATA_VIA is not set |
| 724 | # CONFIG_PATA_WINBOND is not set | 765 | # CONFIG_PATA_WINBOND is not set |
| 725 | # CONFIG_PATA_PLATFORM is not set | 766 | # CONFIG_PATA_PLATFORM is not set |
| @@ -736,7 +777,7 @@ CONFIG_SATA_MV=y · 10 unmodified lines | |||
| 736 | # | 777 | # |
| 737 | 778 | ||
| 738 | # | 779 | # |
| 739 | # See the help texts for more information. | 780 | # The newer stack is recommended. |
| 740 | # | 781 | # |
| 741 | # CONFIG_FIREWIRE is not set | 782 | # CONFIG_FIREWIRE is not set |
| 742 | # CONFIG_IEEE1394 is not set | 783 | # CONFIG_IEEE1394 is not set |
| @@ -842,8 +883,10 @@ CONFIG_MV643XX_ETH=y · 99 unmodified lines | |||
| 842 | # CONFIG_NETDEV_10000 is not set | 883 | # CONFIG_NETDEV_10000 is not set |
| 843 | # CONFIG_TR is not set | 884 | # CONFIG_TR is not set |
| 844 | CONFIG_WLAN=y | 885 | CONFIG_WLAN=y |
| 845 | # CONFIG_WLAN_PRE80211 is not set | 886 | # CONFIG_ATMEL is not set |
| 846 | # CONFIG_WLAN_80211 is not set | 887 | # CONFIG_PRISM54 is not set |
| 888 | # CONFIG_USB_ZD1201 is not set | ||
| 889 | # CONFIG_HOSTAP is not set | ||
| 847 | 890 | ||
| 848 | # | 891 | # |
| 849 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 892 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
| @@ -866,6 +909,7 @@ CONFIG_WLAN=y · 16 unmodified lines | |||
| 866 | # CONFIG_NETCONSOLE is not set | 909 | # CONFIG_NETCONSOLE is not set |
| 867 | # CONFIG_NETPOLL is not set | 910 | # CONFIG_NETPOLL is not set |
| 868 | # CONFIG_NET_POLL_CONTROLLER is not set | 911 | # CONFIG_NET_POLL_CONTROLLER is not set |
| 912 | # CONFIG_VMXNET3 is not set | ||
| 869 | # CONFIG_ISDN is not set | 913 | # CONFIG_ISDN is not set |
| 870 | # CONFIG_PHONE is not set | 914 | # CONFIG_PHONE is not set |
| 871 | 915 | ||
| @@ -875,6 +919,7 @@ CONFIG_WLAN=y · 3 unmodified lines | |||
| 875 | CONFIG_INPUT=y | 919 | CONFIG_INPUT=y |
| 876 | # CONFIG_INPUT_FF_MEMLESS is not set | 920 | # CONFIG_INPUT_FF_MEMLESS is not set |
| 877 | # CONFIG_INPUT_POLLDEV is not set | 921 | # CONFIG_INPUT_POLLDEV is not set |
| 922 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
| 878 | 923 | ||
| 879 | # | 924 | # |
| 880 | # Userland interfaces | 925 | # Userland interfaces |
| @@ -992,11 +1037,6 @@ CONFIG_I2C_MV64XXX=y · 111 unmodified lines | |||
| 992 | # CONFIG_I2C_TAOS_EVM is not set | 1037 | # CONFIG_I2C_TAOS_EVM is not set |
| 993 | # CONFIG_I2C_TINY_USB is not set | 1038 | # CONFIG_I2C_TINY_USB is not set |
| 994 | 1039 | ||
| 995 | # | ||
| 996 | # Graphics adapter I2C/DDC channel drivers | ||
| 997 | # | ||
| 998 | # CONFIG_I2C_VOODOO3 is not set | ||
| 999 | |||
| 1000 | # | 1040 | # |
| 1001 | # Other I2C/SMBus bus drivers | 1041 | # Other I2C/SMBus bus drivers |
| 1002 | # | 1042 | # |
| @@ -1006,7 +1046,6 @@ CONFIG_I2C_MV64XXX=y · 3 unmodified lines | |||
| 1006 | # | 1046 | # |
| 1007 | # Miscellaneous I2C Chip support | 1047 | # Miscellaneous I2C Chip support |
| 1008 | # | 1048 | # |
| 1009 | # CONFIG_DS1682 is not set | ||
| 1010 | # CONFIG_SENSORS_TSL2550 is not set | 1049 | # CONFIG_SENSORS_TSL2550 is not set |
| 1011 | # CONFIG_I2C_DEBUG_CORE is not set | 1050 | # CONFIG_I2C_DEBUG_CORE is not set |
| 1012 | # CONFIG_I2C_DEBUG_ALGO is not set | 1051 | # CONFIG_I2C_DEBUG_ALGO is not set |
| @@ -1033,10 +1072,12 @@ CONFIG_GPIO_SYSFS=y · 20 unmodified lines | |||
| 1033 | # CONFIG_GPIO_MAX732X is not set | 1072 | # CONFIG_GPIO_MAX732X is not set |
| 1034 | # CONFIG_GPIO_PCA953X is not set | 1073 | # CONFIG_GPIO_PCA953X is not set |
| 1035 | # CONFIG_GPIO_PCF857X is not set | 1074 | # CONFIG_GPIO_PCF857X is not set |
| 1075 | # CONFIG_GPIO_ADP5588 is not set | ||
| 1036 | 1076 | ||
| 1037 | # | 1077 | # |
| 1038 | # PCI GPIO expanders: | 1078 | # PCI GPIO expanders: |
| 1039 | # | 1079 | # |
| 1080 | # CONFIG_GPIO_CS5535 is not set | ||
| 1040 | # CONFIG_GPIO_BT8XX is not set | 1081 | # CONFIG_GPIO_BT8XX is not set |
| 1041 | # CONFIG_GPIO_LANGWELL is not set | 1082 | # CONFIG_GPIO_LANGWELL is not set |
| 1042 | 1083 | ||
| @@ -1079,6 +1120,7 @@ CONFIG_HWMON=y · 36 unmodified lines | |||
| 1079 | # CONFIG_SENSORS_GL520SM is not set | 1120 | # CONFIG_SENSORS_GL520SM is not set |
| 1080 | # CONFIG_SENSORS_IT87 is not set | 1121 | # CONFIG_SENSORS_IT87 is not set |
| 1081 | # CONFIG_SENSORS_LM63 is not set | 1122 | # CONFIG_SENSORS_LM63 is not set |
| 1123 | # CONFIG_SENSORS_LM73 is not set | ||
| 1082 | CONFIG_SENSORS_LM75=y | 1124 | CONFIG_SENSORS_LM75=y |
| 1083 | # CONFIG_SENSORS_LM77 is not set | 1125 | # CONFIG_SENSORS_LM77 is not set |
| 1084 | # CONFIG_SENSORS_LM78 is not set | 1126 | # CONFIG_SENSORS_LM78 is not set |
| @@ -1104,6 +1146,7 @@ CONFIG_SENSORS_LM75=y · 19 unmodified lines | |||
| 1104 | # CONFIG_SENSORS_SMSC47M192 is not set | 1146 | # CONFIG_SENSORS_SMSC47M192 is not set |
| 1105 | # CONFIG_SENSORS_SMSC47B397 is not set | 1147 | # CONFIG_SENSORS_SMSC47B397 is not set |
| 1106 | # CONFIG_SENSORS_ADS7828 is not set | 1148 | # CONFIG_SENSORS_ADS7828 is not set |
| 1149 | # CONFIG_SENSORS_AMC6821 is not set | ||
| 1107 | # CONFIG_SENSORS_THMC50 is not set | 1150 | # CONFIG_SENSORS_THMC50 is not set |
| 1108 | # CONFIG_SENSORS_TMP401 is not set | 1151 | # CONFIG_SENSORS_TMP401 is not set |
| 1109 | # CONFIG_SENSORS_TMP421 is not set | 1152 | # CONFIG_SENSORS_TMP421 is not set |
| @@ -1118,6 +1161,7 @@ CONFIG_SENSORS_LM75=y · 8 unmodified lines | |||
| 1118 | # CONFIG_SENSORS_W83L786NG is not set | 1161 | # CONFIG_SENSORS_W83L786NG is not set |
| 1119 | # CONFIG_SENSORS_W83627HF is not set | 1162 | # CONFIG_SENSORS_W83627HF is not set |
| 1120 | # CONFIG_SENSORS_W83627EHF is not set | 1163 | # CONFIG_SENSORS_W83627EHF is not set |
| 1164 | # CONFIG_SENSORS_LIS3_I2C is not set | ||
| 1121 | # CONFIG_THERMAL is not set | 1165 | # CONFIG_THERMAL is not set |
| 1122 | # CONFIG_WATCHDOG is not set | 1166 | # CONFIG_WATCHDOG is not set |
| 1123 | CONFIG_SSB_POSSIBLE=y | 1167 | CONFIG_SSB_POSSIBLE=y |
| @@ -1140,11 +1184,13 @@ CONFIG_SSB_POSSIBLE=y · 16 unmodified lines | |||
| 1140 | # CONFIG_MFD_TMIO is not set | 1184 | # CONFIG_MFD_TMIO is not set |
| 1141 | # CONFIG_MFD_TC6393XB is not set | 1185 | # CONFIG_MFD_TC6393XB is not set |
| 1142 | # CONFIG_PMIC_DA903X is not set | 1186 | # CONFIG_PMIC_DA903X is not set |
| 1187 | # CONFIG_PMIC_ADP5520 is not set | ||
| 1143 | # CONFIG_MFD_WM8400 is not set | 1188 | # CONFIG_MFD_WM8400 is not set |
| 1144 | # CONFIG_MFD_WM831X is not set | 1189 | # CONFIG_MFD_WM831X is not set |
| 1145 | # CONFIG_MFD_WM8350_I2C is not set | 1190 | # CONFIG_MFD_WM8350_I2C is not set |
| 1146 | # CONFIG_MFD_PCF50633 is not set | 1191 | # CONFIG_MFD_PCF50633 is not set |
| 1147 | # CONFIG_AB3100_CORE is not set | 1192 | # CONFIG_AB3100_CORE is not set |
| 1193 | # CONFIG_MFD_88PM8607 is not set | ||
| 1148 | # CONFIG_REGULATOR is not set | 1194 | # CONFIG_REGULATOR is not set |
| 1149 | # CONFIG_MEDIA_SUPPORT is not set | 1195 | # CONFIG_MEDIA_SUPPORT is not set |
| 1150 | 1196 | ||
| @@ -1316,6 +1362,7 @@ CONFIG_USB_STORAGE_JUMPSHOT=y · 165 unmodified lines | |||
| 1316 | # OTG and related infrastructure | 1362 | # OTG and related infrastructure |
| 1317 | # | 1363 | # |
| 1318 | # CONFIG_USB_GPIO_VBUS is not set | 1364 | # CONFIG_USB_GPIO_VBUS is not set |
| 1365 | # CONFIG_USB_ULPI is not set | ||
| 1319 | # CONFIG_NOP_USB_XCEIV is not set | 1366 | # CONFIG_NOP_USB_XCEIV is not set |
| 1320 | # CONFIG_UWB is not set | 1367 | # CONFIG_UWB is not set |
| 1321 | # CONFIG_MMC is not set | 1368 | # CONFIG_MMC is not set |
| @@ -1332,6 +1379,7 @@ CONFIG_LEDS_GPIO_PLATFORM=y · 10 unmodified lines | |||
| 1332 | # CONFIG_LEDS_LP3944 is not set | 1379 | # CONFIG_LEDS_LP3944 is not set |
| 1333 | # CONFIG_LEDS_PCA955X is not set | 1380 | # CONFIG_LEDS_PCA955X is not set |
| 1334 | # CONFIG_LEDS_BD2802 is not set | 1381 | # CONFIG_LEDS_BD2802 is not set |
| 1382 | # CONFIG_LEDS_LT3593 is not set | ||
| 1335 | 1383 | ||
| 1336 | # | 1384 | # |
| 1337 | # LED Triggers | 1385 | # LED Triggers |
| @@ -1377,6 +1425,7 @@ CONFIG_RTC_DRV_PCF8563=y · 39 unmodified lines | |||
| 1377 | # CONFIG_RTC_DRV_PCF8583 is not set | 1425 | # CONFIG_RTC_DRV_PCF8583 is not set |
| 1378 | CONFIG_RTC_DRV_M41T80=y | 1426 | CONFIG_RTC_DRV_M41T80=y |
| 1379 | # CONFIG_RTC_DRV_M41T80_WDT is not set | 1427 | # CONFIG_RTC_DRV_M41T80_WDT is not set |
| 1428 | # CONFIG_RTC_DRV_BQ32K is not set | ||
| 1380 | CONFIG_RTC_DRV_S35390A=y | 1429 | CONFIG_RTC_DRV_S35390A=y |
| 1381 | # CONFIG_RTC_DRV_FM3130 is not set | 1430 | # CONFIG_RTC_DRV_FM3130 is not set |
| 1382 | # CONFIG_RTC_DRV_RX8581 is not set | 1431 | # CONFIG_RTC_DRV_RX8581 is not set |
| @@ -1398,7 +1447,9 @@ CONFIG_RTC_DRV_S35390A=y · 15 unmodified lines | |||
| 1398 | CONFIG_RTC_DRV_M48T86=y | 1447 | CONFIG_RTC_DRV_M48T86=y |
| 1399 | # CONFIG_RTC_DRV_M48T35 is not set | 1448 | # CONFIG_RTC_DRV_M48T35 is not set |
| 1400 | # CONFIG_RTC_DRV_M48T59 is not set | 1449 | # CONFIG_RTC_DRV_M48T59 is not set |
| 1450 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
| 1401 | # CONFIG_RTC_DRV_BQ4802 is not set | 1451 | # CONFIG_RTC_DRV_BQ4802 is not set |
| 1452 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
| 1402 | # CONFIG_RTC_DRV_V3020 is not set | 1453 | # CONFIG_RTC_DRV_V3020 is not set |
| 1403 | 1454 | ||
| 1404 | # | 1455 | # |
| @@ -1686,7 +1737,9 @@ CONFIG_DEBUG_USER=y · 281 unmodified lines | |||
| 1686 | CONFIG_DEBUG_ERRORS=y | 1737 | CONFIG_DEBUG_ERRORS=y |
| 1687 | # CONFIG_DEBUG_STACK_USAGE is not set | 1738 | # CONFIG_DEBUG_STACK_USAGE is not set |
| 1688 | CONFIG_DEBUG_LL=y | 1739 | CONFIG_DEBUG_LL=y |
| 1740 | # CONFIG_EARLY_PRINTK is not set | ||
| 1689 | # CONFIG_DEBUG_ICEDCC is not set | 1741 | # CONFIG_DEBUG_ICEDCC is not set |
| 1742 | # CONFIG_OC_ETM is not set | ||
| 1690 | 1743 | ||
| 1691 | # | 1744 | # |
| 1692 | # Security options | 1745 | # Security options |
| @@ -1694,7 +1747,11 @@ CONFIG_DEBUG_LL=y · 1 unmodified line | |||
| 1694 | # CONFIG_KEYS is not set | 1747 | # CONFIG_KEYS is not set |
| 1695 | # CONFIG_SECURITY is not set | 1748 | # CONFIG_SECURITY is not set |
| 1696 | # CONFIG_SECURITYFS is not set | 1749 | # CONFIG_SECURITYFS is not set |
| 1697 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1750 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
| 1751 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
| 1752 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
| 1753 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
| 1754 | CONFIG_DEFAULT_SECURITY="" | ||
| 1698 | CONFIG_CRYPTO=y | 1755 | CONFIG_CRYPTO=y |
| 1699 | 1756 | ||
| 1700 | # | 1757 | # |
| @@ -1,15 +1,13 @@ | |||
| 1 | # | 1 | # |
| 2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
| 3 | # Linux kernel version: 2.6.29-rc3 | 3 | # Linux kernel version: 2.6.33-rc3 |
| 4 | # Fri Mar 20 13:43:13 2009 | 4 | # Tue Jan 12 08:57:10 2010 |
| 5 | # | 5 | # |
| 6 | CONFIG_ARM=y | 6 | CONFIG_ARM=y |
| 7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | 7 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y |
| 8 | CONFIG_GENERIC_GPIO=y | 8 | CONFIG_GENERIC_GPIO=y |
| 9 | CONFIG_GENERIC_TIME=y | 9 | CONFIG_GENERIC_TIME=y |
| 10 | CONFIG_GENERIC_CLOCKEVENTS=y | 10 | CONFIG_GENERIC_CLOCKEVENTS=y |
| 11 | CONFIG_MMU=y | ||
| 12 | # CONFIG_NO_IOPORT is not set | ||
| 13 | CONFIG_GENERIC_HARDIRQS=y | 11 | CONFIG_GENERIC_HARDIRQS=y |
| 14 | CONFIG_STACKTRACE_SUPPORT=y | 12 | CONFIG_STACKTRACE_SUPPORT=y |
| 15 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | 13 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y |
| @@ -18,13 +16,12 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y · 2 unmodified lines | |||
| 18 | CONFIG_HARDIRQS_SW_RESEND=y | 16 | CONFIG_HARDIRQS_SW_RESEND=y |
| 19 | CONFIG_GENERIC_IRQ_PROBE=y | 17 | CONFIG_GENERIC_IRQ_PROBE=y |
| 20 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 18 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
| 21 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
| 22 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
| 23 | CONFIG_GENERIC_HWEIGHT=y | 19 | CONFIG_GENERIC_HWEIGHT=y |
| 24 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 20 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
| 25 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | 21 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y |
| 26 | CONFIG_VECTORS_BASE=0xffff0000 | 22 | CONFIG_VECTORS_BASE=0xffff0000 |
| 27 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
| 24 | CONFIG_CONSTRUCTORS=y | ||
| 28 | 25 | ||
| 29 | # | 26 | # |
| 30 | # General setup | 27 | # General setup |
| @@ -35,6 +32,12 @@ CONFIG_LOCK_KERNEL=y · 4 unmodified lines | |||
| 35 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 32 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
| 36 | CONFIG_LOCALVERSION="" | 33 | CONFIG_LOCALVERSION="" |
| 37 | CONFIG_LOCALVERSION_AUTO=y | 34 | CONFIG_LOCALVERSION_AUTO=y |
| 35 | CONFIG_HAVE_KERNEL_GZIP=y | ||
| 36 | CONFIG_HAVE_KERNEL_LZO=y | ||
| 37 | CONFIG_KERNEL_GZIP=y | ||
| 38 | # CONFIG_KERNEL_BZIP2 is not set | ||
| 39 | # CONFIG_KERNEL_LZMA is not set | ||
| 40 | # CONFIG_KERNEL_LZO is not set | ||
| 38 | CONFIG_SWAP=y | 41 | CONFIG_SWAP=y |
| 39 | CONFIG_SYSVIPC=y | 42 | CONFIG_SYSVIPC=y |
| 40 | CONFIG_SYSVIPC_SYSCTL=y | 43 | CONFIG_SYSVIPC_SYSCTL=y |
| @@ -46,11 +49,13 @@ CONFIG_SYSVIPC_SYSCTL=y · 5 unmodified lines | |||
| 46 | # | 49 | # |
| 47 | # RCU Subsystem | 50 | # RCU Subsystem |
| 48 | # | 51 | # |
| 49 | CONFIG_CLASSIC_RCU=y | 52 | CONFIG_TREE_RCU=y |
| 50 | # CONFIG_TREE_RCU is not set | 53 | # CONFIG_TREE_PREEMPT_RCU is not set |
| 51 | # CONFIG_PREEMPT_RCU is not set | 54 | # CONFIG_TINY_RCU is not set |
| 55 | # CONFIG_RCU_TRACE is not set | ||
| 56 | CONFIG_RCU_FANOUT=32 | ||
| 57 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
| 52 | # CONFIG_TREE_RCU_TRACE is not set | 58 | # CONFIG_TREE_RCU_TRACE is not set |
| 53 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
| 54 | # CONFIG_IKCONFIG is not set | 59 | # CONFIG_IKCONFIG is not set |
| 55 | CONFIG_LOG_BUF_SHIFT=14 | 60 | CONFIG_LOG_BUF_SHIFT=14 |
| 56 | # CONFIG_GROUP_SCHED is not set | 61 | # CONFIG_GROUP_SCHED is not set |
| @@ -64,10 +69,10 @@ CONFIG_NAMESPACES=y · 7 unmodified lines | |||
| 64 | # CONFIG_USER_NS is not set | 69 | # CONFIG_USER_NS is not set |
| 65 | # CONFIG_PID_NS is not set | 70 | # CONFIG_PID_NS is not set |
| 66 | # CONFIG_NET_NS is not set | 71 | # CONFIG_NET_NS is not set |
| 67 | CONFIG_BLK_DEV_INITRD=y | 72 | # CONFIG_BLK_DEV_INITRD is not set |
| 68 | CONFIG_INITRAMFS_SOURCE="" | ||
| 69 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 73 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
| 70 | CONFIG_SYSCTL=y | 74 | CONFIG_SYSCTL=y |
| 75 | CONFIG_ANON_INODES=y | ||
| 71 | # CONFIG_EMBEDDED is not set | 76 | # CONFIG_EMBEDDED is not set |
| 72 | CONFIG_UID16=y | 77 | CONFIG_UID16=y |
| 73 | CONFIG_SYSCTL_SYSCALL=y | 78 | CONFIG_SYSCTL_SYSCALL=y |
| @@ -78,17 +83,20 @@ CONFIG_HOTPLUG=y · 4 unmodified lines | |||
| 78 | CONFIG_PRINTK=y | 83 | CONFIG_PRINTK=y |
| 79 | CONFIG_BUG=y | 84 | CONFIG_BUG=y |
| 80 | CONFIG_ELF_CORE=y | 85 | CONFIG_ELF_CORE=y |
| 81 | CONFIG_COMPAT_BRK=y | ||
| 82 | CONFIG_BASE_FULL=y | 86 | CONFIG_BASE_FULL=y |
| 83 | CONFIG_FUTEX=y | 87 | CONFIG_FUTEX=y |
| 84 | CONFIG_ANON_INODES=y | ||
| 85 | CONFIG_EPOLL=y | 88 | CONFIG_EPOLL=y |
| 86 | CONFIG_SIGNALFD=y | 89 | CONFIG_SIGNALFD=y |
| 87 | CONFIG_TIMERFD=y | 90 | CONFIG_TIMERFD=y |
| 88 | CONFIG_EVENTFD=y | 91 | CONFIG_EVENTFD=y |
| 89 | CONFIG_SHMEM=y | 92 | CONFIG_SHMEM=y |
| 90 | CONFIG_AIO=y | 93 | CONFIG_AIO=y |
| 94 | |||
| 95 | # | ||
| 96 | # Kernel Performance Events And Counters | ||
| 97 | # | ||
| 91 | CONFIG_VM_EVENT_COUNTERS=y | 98 | CONFIG_VM_EVENT_COUNTERS=y |
| 99 | CONFIG_COMPAT_BRK=y | ||
| 92 | CONFIG_SLAB=y | 100 | CONFIG_SLAB=y |
| 93 | # CONFIG_SLUB is not set | 101 | # CONFIG_SLUB is not set |
| 94 | # CONFIG_SLOB is not set | 102 | # CONFIG_SLOB is not set |
| @@ -98,6 +106,11 @@ CONFIG_HAVE_OPROFILE=y · 3 unmodified lines | |||
| 98 | CONFIG_HAVE_KPROBES=y | 106 | CONFIG_HAVE_KPROBES=y |
| 99 | CONFIG_HAVE_KRETPROBES=y | 107 | CONFIG_HAVE_KRETPROBES=y |
| 100 | CONFIG_HAVE_CLK=y | 108 | CONFIG_HAVE_CLK=y |
| 109 | |||
| 110 | # | ||
| 111 | # GCOV-based kernel profiling | ||
| 112 | # | ||
| 113 | # CONFIG_SLOW_WORK is not set | ||
| 101 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | 114 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y |
| 102 | CONFIG_SLABINFO=y | 115 | CONFIG_SLABINFO=y |
| 103 | CONFIG_RT_MUTEXES=y | 116 | CONFIG_RT_MUTEXES=y |
| @@ -109,8 +122,7 @@ CONFIG_MODULE_FORCE_UNLOAD=y · 5 unmodified lines | |||
| 109 | # CONFIG_MODVERSIONS is not set | 122 | # CONFIG_MODVERSIONS is not set |
| 110 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 123 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
| 111 | CONFIG_BLOCK=y | 124 | CONFIG_BLOCK=y |
| 112 | # CONFIG_LBD is not set | 125 | CONFIG_LBDAF=y |
| 113 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 114 | # CONFIG_BLK_DEV_BSG is not set | 126 | # CONFIG_BLK_DEV_BSG is not set |
| 115 | # CONFIG_BLK_DEV_INTEGRITY is not set | 127 | # CONFIG_BLK_DEV_INTEGRITY is not set |
| 116 | 128 | ||
| @@ -118,31 +130,62 @@ CONFIG_BLOCK=y · 1 unmodified line | |||
| 118 | # IO Schedulers | 130 | # IO Schedulers |
| 119 | # | 131 | # |
| 120 | CONFIG_IOSCHED_NOOP=y | 132 | CONFIG_IOSCHED_NOOP=y |
| 121 | CONFIG_IOSCHED_AS=y | ||
| 122 | CONFIG_IOSCHED_DEADLINE=y | 133 | CONFIG_IOSCHED_DEADLINE=y |
| 123 | CONFIG_IOSCHED_CFQ=y | 134 | CONFIG_IOSCHED_CFQ=y |
| 124 | # CONFIG_DEFAULT_AS is not set | ||
| 125 | # CONFIG_DEFAULT_DEADLINE is not set | 135 | # CONFIG_DEFAULT_DEADLINE is not set |
| 126 | CONFIG_DEFAULT_CFQ=y | 136 | CONFIG_DEFAULT_CFQ=y |
| 127 | # CONFIG_DEFAULT_NOOP is not set | 137 | # CONFIG_DEFAULT_NOOP is not set |
| 128 | CONFIG_DEFAULT_IOSCHED="cfq" | 138 | CONFIG_DEFAULT_IOSCHED="cfq" |
| 139 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
| 140 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
| 141 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
| 142 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
| 143 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
| 144 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
| 145 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
| 146 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
| 147 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
| 148 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
| 149 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
| 150 | # CONFIG_INLINE_READ_LOCK is not set | ||
| 151 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
| 152 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
| 153 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
| 154 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
| 155 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
| 156 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
| 157 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
| 158 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
| 159 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
| 160 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
| 161 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
| 162 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
| 163 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
| 164 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
| 165 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
| 166 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
| 167 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
| 129 | # CONFIG_FREEZER is not set | 168 | # CONFIG_FREEZER is not set |
| 130 | 169 | ||
| 131 | # | 170 | # |
| 132 | # System Type | 171 | # System Type |
| 133 | # | 172 | # |
| 173 | CONFIG_MMU=y | ||
| 134 | # CONFIG_ARCH_AAEC2000 is not set | 174 | # CONFIG_ARCH_AAEC2000 is not set |
| 135 | # CONFIG_ARCH_INTEGRATOR is not set | 175 | # CONFIG_ARCH_INTEGRATOR is not set |
| 136 | # CONFIG_ARCH_REALVIEW is not set | 176 | # CONFIG_ARCH_REALVIEW is not set |
| 137 | # CONFIG_ARCH_VERSATILE is not set | 177 | # CONFIG_ARCH_VERSATILE is not set |
| 138 | # CONFIG_ARCH_AT91 is not set | 178 | # CONFIG_ARCH_AT91 is not set |
| 139 | # CONFIG_ARCH_CLPS711X is not set | 179 | # CONFIG_ARCH_CLPS711X is not set |
| 180 | # CONFIG_ARCH_GEMINI is not set | ||
| 140 | # CONFIG_ARCH_EBSA110 is not set | 181 | # CONFIG_ARCH_EBSA110 is not set |
| 141 | # CONFIG_ARCH_EP93XX is not set | 182 | # CONFIG_ARCH_EP93XX is not set |
| 142 | # CONFIG_ARCH_FOOTBRIDGE is not set | 183 | # CONFIG_ARCH_FOOTBRIDGE is not set |
| 184 | # CONFIG_ARCH_MXC is not set | ||
| 185 | # CONFIG_ARCH_STMP3XXX is not set | ||
| 143 | # CONFIG_ARCH_NETX is not set | 186 | # CONFIG_ARCH_NETX is not set |
| 144 | # CONFIG_ARCH_H720X is not set | 187 | # CONFIG_ARCH_H720X is not set |
| 145 | # CONFIG_ARCH_IMX is not set | 188 | # CONFIG_ARCH_NOMADIK is not set |
| 146 | # CONFIG_ARCH_IOP13XX is not set | 189 | # CONFIG_ARCH_IOP13XX is not set |
| 147 | # CONFIG_ARCH_IOP32X is not set | 190 | # CONFIG_ARCH_IOP32X is not set |
| 148 | # CONFIG_ARCH_IOP33X is not set | 191 | # CONFIG_ARCH_IOP33X is not set |
| @@ -150,26 +193,30 @@ CONFIG_DEFAULT_IOSCHED="cfq" · 1 unmodified line | |||
| 150 | # CONFIG_ARCH_IXP2000 is not set | 193 | # CONFIG_ARCH_IXP2000 is not set |
| 151 | # CONFIG_ARCH_IXP4XX is not set | 194 | # CONFIG_ARCH_IXP4XX is not set |
| 152 | # CONFIG_ARCH_L7200 is not set | 195 | # CONFIG_ARCH_L7200 is not set |
| 196 | # CONFIG_ARCH_DOVE is not set | ||
| 153 | # CONFIG_ARCH_KIRKWOOD is not set | 197 | # CONFIG_ARCH_KIRKWOOD is not set |
| 154 | # CONFIG_ARCH_KS8695 is not set | ||
| 155 | # CONFIG_ARCH_NS9XXX is not set | ||
| 156 | # CONFIG_ARCH_LOKI is not set | 198 | # CONFIG_ARCH_LOKI is not set |
| 157 | # CONFIG_ARCH_MV78XX0 is not set | 199 | # CONFIG_ARCH_MV78XX0 is not set |
| 158 | # CONFIG_ARCH_MXC is not set | ||
| 159 | # CONFIG_ARCH_ORION5X is not set | 200 | # CONFIG_ARCH_ORION5X is not set |
| 201 | CONFIG_ARCH_MMP=y | ||
| 202 | # CONFIG_ARCH_KS8695 is not set | ||
| 203 | # CONFIG_ARCH_NS9XXX is not set | ||
| 204 | # CONFIG_ARCH_W90X900 is not set | ||
| 160 | # CONFIG_ARCH_PNX4008 is not set | 205 | # CONFIG_ARCH_PNX4008 is not set |
| 161 | # CONFIG_ARCH_PXA is not set | 206 | # CONFIG_ARCH_PXA is not set |
| 162 | CONFIG_ARCH_MMP=y | 207 | # CONFIG_ARCH_MSM is not set |
| 163 | # CONFIG_ARCH_RPC is not set | 208 | # CONFIG_ARCH_RPC is not set |
| 164 | # CONFIG_ARCH_SA1100 is not set | 209 | # CONFIG_ARCH_SA1100 is not set |
| 165 | # CONFIG_ARCH_S3C2410 is not set | 210 | # CONFIG_ARCH_S3C2410 is not set |
| 166 | # CONFIG_ARCH_S3C64XX is not set | 211 | # CONFIG_ARCH_S3C64XX is not set |
| 212 | # CONFIG_ARCH_S5PC1XX is not set | ||
| 167 | # CONFIG_ARCH_SHARK is not set | 213 | # CONFIG_ARCH_SHARK is not set |
| 168 | # CONFIG_ARCH_LH7A40X is not set | 214 | # CONFIG_ARCH_LH7A40X is not set |
| 215 | # CONFIG_ARCH_U300 is not set | ||
| 169 | # CONFIG_ARCH_DAVINCI is not set | 216 | # CONFIG_ARCH_DAVINCI is not set |
| 170 | # CONFIG_ARCH_OMAP is not set | 217 | # CONFIG_ARCH_OMAP is not set |
| 171 | # CONFIG_ARCH_MSM is not set | 218 | # CONFIG_ARCH_BCMRING is not set |
| 172 | # CONFIG_ARCH_W90X900 is not set | 219 | # CONFIG_ARCH_U8500 is not set |
| 173 | # CONFIG_MACH_TAVOREVB is not set | 220 | # CONFIG_MACH_TAVOREVB is not set |
| 174 | 221 | ||
| 175 | # | 222 | # |
| @@ -177,6 +224,7 @@ CONFIG_ARCH_MMP=y · 1 unmodified line | |||
| 177 | # | 224 | # |
| 178 | CONFIG_MACH_ASPENITE=y | 225 | CONFIG_MACH_ASPENITE=y |
| 179 | CONFIG_MACH_ZYLONITE2=y | 226 | CONFIG_MACH_ZYLONITE2=y |
| 227 | CONFIG_MACH_AVENGERS_LITE=y | ||
| 180 | # CONFIG_MACH_TTC_DKB is not set | 228 | # CONFIG_MACH_TTC_DKB is not set |
| 181 | CONFIG_CPU_PXA168=y | 229 | CONFIG_CPU_PXA168=y |
| 182 | CONFIG_PLAT_PXA=y | 230 | CONFIG_PLAT_PXA=y |
| @@ -187,7 +235,7 @@ CONFIG_PLAT_PXA=y · 4 unmodified lines | |||
| 187 | CONFIG_CPU_MOHAWK=y | 235 | CONFIG_CPU_MOHAWK=y |
| 188 | CONFIG_CPU_32v5=y | 236 | CONFIG_CPU_32v5=y |
| 189 | CONFIG_CPU_ABRT_EV5T=y | 237 | CONFIG_CPU_ABRT_EV5T=y |
| 190 | CONFIG_CPU_PABRT_NOIFAR=y | 238 | CONFIG_CPU_PABRT_LEGACY=y |
| 191 | CONFIG_CPU_CACHE_VIVT=y | 239 | CONFIG_CPU_CACHE_VIVT=y |
| 192 | CONFIG_CPU_COPY_V4WB=y | 240 | CONFIG_CPU_COPY_V4WB=y |
| 193 | CONFIG_CPU_TLB_V4WBI=y | 241 | CONFIG_CPU_TLB_V4WBI=y |
| @@ -201,7 +249,7 @@ CONFIG_ARM_THUMB=y · 7 unmodified lines | |||
| 201 | # CONFIG_CPU_ICACHE_DISABLE is not set | 249 | # CONFIG_CPU_ICACHE_DISABLE is not set |
| 202 | # CONFIG_CPU_DCACHE_DISABLE is not set | 250 | # CONFIG_CPU_DCACHE_DISABLE is not set |
| 203 | # CONFIG_CPU_BPREDICT_DISABLE is not set | 251 | # CONFIG_CPU_BPREDICT_DISABLE is not set |
| 204 | # CONFIG_OUTER_CACHE is not set | 252 | CONFIG_ARM_L1_CACHE_SHIFT=5 |
| 205 | CONFIG_IWMMXT=y | 253 | CONFIG_IWMMXT=y |
| 206 | CONFIG_COMMON_CLKDEV=y | 254 | CONFIG_COMMON_CLKDEV=y |
| 207 | 255 | ||
| @@ -223,13 +271,15 @@ CONFIG_VMSPLIT_3G=y · 15 unmodified lines | |||
| 223 | # CONFIG_VMSPLIT_2G is not set | 271 | # CONFIG_VMSPLIT_2G is not set |
| 224 | # CONFIG_VMSPLIT_1G is not set | 272 | # CONFIG_VMSPLIT_1G is not set |
| 225 | CONFIG_PAGE_OFFSET=0xC0000000 | 273 | CONFIG_PAGE_OFFSET=0xC0000000 |
| 274 | # CONFIG_PREEMPT_NONE is not set | ||
| 275 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
| 226 | CONFIG_PREEMPT=y | 276 | CONFIG_PREEMPT=y |
| 227 | CONFIG_HZ=100 | 277 | CONFIG_HZ=100 |
| 228 | CONFIG_AEABI=y | 278 | CONFIG_AEABI=y |
| 229 | CONFIG_OABI_COMPAT=y | 279 | CONFIG_OABI_COMPAT=y |
| 230 | CONFIG_ARCH_FLATMEM_HAS_HOLES=y | ||
| 231 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set | 280 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set |
| 232 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set | 281 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set |
| 282 | # CONFIG_HIGHMEM is not set | ||
| 233 | CONFIG_SELECT_MEMORY_MODEL=y | 283 | CONFIG_SELECT_MEMORY_MODEL=y |
| 234 | CONFIG_FLATMEM_MANUAL=y | 284 | CONFIG_FLATMEM_MANUAL=y |
| 235 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 285 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
| @@ -237,12 +287,14 @@ CONFIG_FLATMEM_MANUAL=y · 1 unmodified line | |||
| 237 | CONFIG_FLATMEM=y | 287 | CONFIG_FLATMEM=y |
| 238 | CONFIG_FLAT_NODE_MEM_MAP=y | 288 | CONFIG_FLAT_NODE_MEM_MAP=y |
| 239 | CONFIG_PAGEFLAGS_EXTENDED=y | 289 | CONFIG_PAGEFLAGS_EXTENDED=y |
| 240 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | 290 | CONFIG_SPLIT_PTLOCK_CPUS=999999 |
| 241 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 291 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
| 242 | CONFIG_ZONE_DMA_FLAG=0 | 292 | CONFIG_ZONE_DMA_FLAG=0 |
| 243 | CONFIG_VIRT_TO_BUS=y | 293 | CONFIG_VIRT_TO_BUS=y |
| 244 | CONFIG_UNEVICTABLE_LRU=y | 294 | # CONFIG_KSM is not set |
| 295 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
| 245 | CONFIG_ALIGNMENT_TRAP=y | 296 | CONFIG_ALIGNMENT_TRAP=y |
| 297 | # CONFIG_UACCESS_WITH_MEMCPY is not set | ||
| 246 | 298 | ||
| 247 | # | 299 | # |
| 248 | # Boot options | 300 | # Boot options |
| @@ -288,7 +340,6 @@ CONFIG_NET=y · 39 unmodified lines | |||
| 288 | # | 340 | # |
| 289 | # Networking options | 341 | # Networking options |
| 290 | # | 342 | # |
| 291 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
| 292 | CONFIG_PACKET=y | 343 | CONFIG_PACKET=y |
| 293 | # CONFIG_PACKET_MMAP is not set | 344 | # CONFIG_PACKET_MMAP is not set |
| 294 | CONFIG_UNIX=y | 345 | CONFIG_UNIX=y |
| @@ -330,6 +381,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" · 35 unmodified lines | |||
| 330 | # CONFIG_NETFILTER is not set | 381 | # CONFIG_NETFILTER is not set |
| 331 | # CONFIG_IP_DCCP is not set | 382 | # CONFIG_IP_DCCP is not set |
| 332 | # CONFIG_IP_SCTP is not set | 383 | # CONFIG_IP_SCTP is not set |
| 384 | # CONFIG_RDS is not set | ||
| 333 | # CONFIG_TIPC is not set | 385 | # CONFIG_TIPC is not set |
| 334 | # CONFIG_ATM is not set | 386 | # CONFIG_ATM is not set |
| 335 | # CONFIG_BRIDGE is not set | 387 | # CONFIG_BRIDGE is not set |
| @@ -343,6 +395,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic" · 7 unmodified lines | |||
| 343 | # CONFIG_LAPB is not set | 395 | # CONFIG_LAPB is not set |
| 344 | # CONFIG_ECONET is not set | 396 | # CONFIG_ECONET is not set |
| 345 | # CONFIG_WAN_ROUTER is not set | 397 | # CONFIG_WAN_ROUTER is not set |
| 398 | # CONFIG_PHONET is not set | ||
| 399 | # CONFIG_IEEE802154 is not set | ||
| 346 | # CONFIG_NET_SCHED is not set | 400 | # CONFIG_NET_SCHED is not set |
| 347 | # CONFIG_DCB is not set | 401 | # CONFIG_DCB is not set |
| 348 | 402 | ||
| @@ -355,13 +409,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic" · 6 unmodified lines | |||
| 355 | # CONFIG_IRDA is not set | 409 | # CONFIG_IRDA is not set |
| 356 | # CONFIG_BT is not set | 410 | # CONFIG_BT is not set |
| 357 | # CONFIG_AF_RXRPC is not set | 411 | # CONFIG_AF_RXRPC is not set |
| 358 | # CONFIG_PHONET is not set | ||
| 359 | CONFIG_WIRELESS=y | 412 | CONFIG_WIRELESS=y |
| 360 | # CONFIG_CFG80211 is not set | 413 | # CONFIG_CFG80211 is not set |
| 361 | CONFIG_WIRELESS_OLD_REGULATORY=y | ||
| 362 | # CONFIG_WIRELESS_EXT is not set | ||
| 363 | # CONFIG_LIB80211 is not set | 414 | # CONFIG_LIB80211 is not set |
| 364 | # CONFIG_MAC80211 is not set | 415 | |
| 416 | # | ||
| 417 | # CFG80211 needs to be enabled for MAC80211 | ||
| 418 | # | ||
| 365 | # CONFIG_WIMAX is not set | 419 | # CONFIG_WIMAX is not set |
| 366 | # CONFIG_RFKILL is not set | 420 | # CONFIG_RFKILL is not set |
| 367 | # CONFIG_NET_9P is not set | 421 | # CONFIG_NET_9P is not set |
| @@ -374,6 +428,7 @@ CONFIG_WIRELESS_OLD_REGULATORY=y · 6 unmodified lines | |||
| 374 | # Generic Driver Options | 428 | # Generic Driver Options |
| 375 | # | 429 | # |
| 376 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 430 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
| 431 | # CONFIG_DEVTMPFS is not set | ||
| 377 | # CONFIG_STANDALONE is not set | 432 | # CONFIG_STANDALONE is not set |
| 378 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set | 433 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set |
| 379 | CONFIG_FW_LOADER=y | 434 | CONFIG_FW_LOADER=y |
| @@ -412,8 +467,10 @@ CONFIG_MII=y · 32 unmodified lines | |||
| 412 | # CONFIG_AX88796 is not set | 467 | # CONFIG_AX88796 is not set |
| 413 | CONFIG_SMC91X=y | 468 | CONFIG_SMC91X=y |
| 414 | # CONFIG_DM9000 is not set | 469 | # CONFIG_DM9000 is not set |
| 470 | # CONFIG_ETHOC is not set | ||
| 415 | # CONFIG_SMC911X is not set | 471 | # CONFIG_SMC911X is not set |
| 416 | # CONFIG_SMSC911X is not set | 472 | # CONFIG_SMSC911X is not set |
| 473 | # CONFIG_DNET is not set | ||
| 417 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 474 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
| 418 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 475 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
| 419 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 476 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
| @@ -422,15 +479,12 @@ CONFIG_SMC91X=y · 2 unmodified lines | |||
| 422 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | 479 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set |
| 423 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 480 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
| 424 | # CONFIG_B44 is not set | 481 | # CONFIG_B44 is not set |
| 482 | # CONFIG_KS8842 is not set | ||
| 483 | # CONFIG_KS8851_MLL is not set | ||
| 425 | # CONFIG_NETDEV_1000 is not set | 484 | # CONFIG_NETDEV_1000 is not set |
| 426 | # CONFIG_NETDEV_10000 is not set | 485 | # CONFIG_NETDEV_10000 is not set |
| 427 | 486 | CONFIG_WLAN=y | |
| 428 | # | 487 | # CONFIG_HOSTAP is not set |
| 429 | # Wireless LAN | ||
| 430 | # | ||
| 431 | # CONFIG_WLAN_PRE80211 is not set | ||
| 432 | # CONFIG_WLAN_80211 is not set | ||
| 433 | # CONFIG_IWLWIFI_LEDS is not set | ||
| 434 | 488 | ||
| 435 | # | 489 | # |
| 436 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 490 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
| @@ -442,6 +496,7 @@ CONFIG_SMC91X=y · 5 unmodified lines | |||
| 442 | # CONFIG_NETPOLL is not set | 496 | # CONFIG_NETPOLL is not set |
| 443 | # CONFIG_NET_POLL_CONTROLLER is not set | 497 | # CONFIG_NET_POLL_CONTROLLER is not set |
| 444 | # CONFIG_ISDN is not set | 498 | # CONFIG_ISDN is not set |
| 499 | # CONFIG_PHONE is not set | ||
| 445 | 500 | ||
| 446 | # | 501 | # |
| 447 | # Input device support | 502 | # Input device support |
| @@ -449,6 +504,7 @@ CONFIG_SMC91X=y · 1 unmodified line | |||
| 449 | CONFIG_INPUT=y | 504 | CONFIG_INPUT=y |
| 450 | # CONFIG_INPUT_FF_MEMLESS is not set | 505 | # CONFIG_INPUT_FF_MEMLESS is not set |
| 451 | # CONFIG_INPUT_POLLDEV is not set | 506 | # CONFIG_INPUT_POLLDEV is not set |
| 507 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
| 452 | 508 | ||
| 453 | # | 509 | # |
| 454 | # Userland interfaces | 510 | # Userland interfaces |
| @@ -510,6 +566,11 @@ CONFIG_UNIX98_PTYS=y · 55 unmodified lines | |||
| 510 | # CONFIG_TCG_TPM is not set | 566 | # CONFIG_TCG_TPM is not set |
| 511 | # CONFIG_I2C is not set | 567 | # CONFIG_I2C is not set |
| 512 | # CONFIG_SPI is not set | 568 | # CONFIG_SPI is not set |
| 569 | |||
| 570 | # | ||
| 571 | # PPS support | ||
| 572 | # | ||
| 573 | # CONFIG_PPS is not set | ||
| 513 | CONFIG_ARCH_REQUIRE_GPIOLIB=y | 574 | CONFIG_ARCH_REQUIRE_GPIOLIB=y |
| 514 | CONFIG_GPIOLIB=y | 575 | CONFIG_GPIOLIB=y |
| 515 | # CONFIG_DEBUG_GPIO is not set | 576 | # CONFIG_DEBUG_GPIO is not set |
| @@ -530,11 +591,14 @@ CONFIG_GPIOLIB=y · 14 unmodified lines | |||
| 530 | # | 591 | # |
| 531 | # SPI GPIO expanders: | 592 | # SPI GPIO expanders: |
| 532 | # | 593 | # |
| 594 | |||
| 595 | # | ||
| 596 | # AC97 GPIO expanders: | ||
| 597 | # | ||
| 533 | # CONFIG_W1 is not set | 598 | # CONFIG_W1 is not set |
| 534 | # CONFIG_POWER_SUPPLY is not set | 599 | # CONFIG_POWER_SUPPLY is not set |
| 535 | # CONFIG_HWMON is not set | 600 | # CONFIG_HWMON is not set |
| 536 | # CONFIG_THERMAL is not set | 601 | # CONFIG_THERMAL is not set |
| 537 | # CONFIG_THERMAL_HWMON is not set | ||
| 538 | # CONFIG_WATCHDOG is not set | 602 | # CONFIG_WATCHDOG is not set |
| 539 | CONFIG_SSB_POSSIBLE=y | 603 | CONFIG_SSB_POSSIBLE=y |
| 540 | 604 | ||
| @@ -555,22 +619,8 @@ CONFIG_SSB_POSSIBLE=y · 14 unmodified lines | |||
| 555 | # CONFIG_MFD_T7L66XB is not set | 619 | # CONFIG_MFD_T7L66XB is not set |
| 556 | # CONFIG_MFD_TC6387XB is not set | 620 | # CONFIG_MFD_TC6387XB is not set |
| 557 | # CONFIG_MFD_TC6393XB is not set | 621 | # CONFIG_MFD_TC6393XB is not set |
| 558 | 622 | # CONFIG_REGULATOR is not set | |
| 559 | # | 623 | # CONFIG_MEDIA_SUPPORT is not set |
| 560 | # Multimedia devices | ||
| 561 | # | ||
| 562 | |||
| 563 | # | ||
| 564 | # Multimedia core support | ||
| 565 | # | ||
| 566 | # CONFIG_VIDEO_DEV is not set | ||
| 567 | # CONFIG_DVB_CORE is not set | ||
| 568 | # CONFIG_VIDEO_MEDIA is not set | ||
| 569 | |||
| 570 | # | ||
| 571 | # Multimedia drivers | ||
| 572 | # | ||
| 573 | # CONFIG_DAB is not set | ||
| 574 | 624 | ||
| 575 | # | 625 | # |
| 576 | # Graphics support | 626 | # Graphics support |
| @@ -595,13 +645,17 @@ CONFIG_DUMMY_CONSOLE=y · 18 unmodified lines | |||
| 595 | # CONFIG_USB_SUPPORT is not set | 645 | # CONFIG_USB_SUPPORT is not set |
| 596 | # CONFIG_MMC is not set | 646 | # CONFIG_MMC is not set |
| 597 | # CONFIG_MEMSTICK is not set | 647 | # CONFIG_MEMSTICK is not set |
| 598 | # CONFIG_ACCESSIBILITY is not set | ||
| 599 | # CONFIG_NEW_LEDS is not set | 648 | # CONFIG_NEW_LEDS is not set |
| 649 | # CONFIG_ACCESSIBILITY is not set | ||
| 600 | CONFIG_RTC_LIB=y | 650 | CONFIG_RTC_LIB=y |
| 601 | # CONFIG_RTC_CLASS is not set | 651 | # CONFIG_RTC_CLASS is not set |
| 602 | # CONFIG_DMADEVICES is not set | 652 | # CONFIG_DMADEVICES is not set |
| 603 | # CONFIG_REGULATOR is not set | 653 | # CONFIG_AUXDISPLAY is not set |
| 604 | # CONFIG_UIO is not set | 654 | # CONFIG_UIO is not set |
| 655 | |||
| 656 | # | ||
| 657 | # TI VLYNQ | ||
| 658 | # | ||
| 605 | # CONFIG_STAGING is not set | 659 | # CONFIG_STAGING is not set |
| 606 | 660 | ||
| 607 | # | 661 | # |
| @@ -613,10 +667,13 @@ CONFIG_RTC_LIB=y · 5 unmodified lines | |||
| 613 | # CONFIG_REISERFS_FS is not set | 667 | # CONFIG_REISERFS_FS is not set |
| 614 | # CONFIG_JFS_FS is not set | 668 | # CONFIG_JFS_FS is not set |
| 615 | CONFIG_FS_POSIX_ACL=y | 669 | CONFIG_FS_POSIX_ACL=y |
| 616 | CONFIG_FILE_LOCKING=y | ||
| 617 | # CONFIG_XFS_FS is not set | 670 | # CONFIG_XFS_FS is not set |
| 671 | # CONFIG_GFS2_FS is not set | ||
| 618 | # CONFIG_OCFS2_FS is not set | 672 | # CONFIG_OCFS2_FS is not set |
| 619 | # CONFIG_BTRFS_FS is not set | 673 | # CONFIG_BTRFS_FS is not set |
| 674 | # CONFIG_NILFS2_FS is not set | ||
| 675 | CONFIG_FILE_LOCKING=y | ||
| 676 | CONFIG_FSNOTIFY=y | ||
| 620 | CONFIG_DNOTIFY=y | 677 | CONFIG_DNOTIFY=y |
| 621 | CONFIG_INOTIFY=y | 678 | CONFIG_INOTIFY=y |
| 622 | CONFIG_INOTIFY_USER=y | 679 | CONFIG_INOTIFY_USER=y |
| @@ -626,6 +683,11 @@ CONFIG_INOTIFY_USER=y · 3 unmodified lines | |||
| 626 | # CONFIG_FUSE_FS is not set | 683 | # CONFIG_FUSE_FS is not set |
| 627 | CONFIG_GENERIC_ACL=y | 684 | CONFIG_GENERIC_ACL=y |
| 628 | 685 | ||
| 686 | # | ||
| 687 | # Caches | ||
| 688 | # | ||
| 689 | # CONFIG_FSCACHE is not set | ||
| 690 | |||
| 629 | # | 691 | # |
| 630 | # CD-ROM/DVD Filesystems | 692 | # CD-ROM/DVD Filesystems |
| 631 | # | 693 | # |
| @@ -673,6 +735,7 @@ CONFIG_NFS_FS=y · 41 unmodified lines | |||
| 673 | CONFIG_NFS_V3=y | 735 | CONFIG_NFS_V3=y |
| 674 | CONFIG_NFS_V3_ACL=y | 736 | CONFIG_NFS_V3_ACL=y |
| 675 | CONFIG_NFS_V4=y | 737 | CONFIG_NFS_V4=y |
| 738 | # CONFIG_NFS_V4_1 is not set | ||
| 676 | CONFIG_ROOT_NFS=y | 739 | CONFIG_ROOT_NFS=y |
| 677 | # CONFIG_NFSD is not set | 740 | # CONFIG_NFSD is not set |
| 678 | CONFIG_LOCKD=y | 741 | CONFIG_LOCKD=y |
| @@ -681,7 +744,6 @@ CONFIG_NFS_ACL_SUPPORT=y · 2 unmodified lines | |||
| 681 | CONFIG_NFS_COMMON=y | 744 | CONFIG_NFS_COMMON=y |
| 682 | CONFIG_SUNRPC=y | 745 | CONFIG_SUNRPC=y |
| 683 | CONFIG_SUNRPC_GSS=y | 746 | CONFIG_SUNRPC_GSS=y |
| 684 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
| 685 | CONFIG_RPCSEC_GSS_KRB5=y | 747 | CONFIG_RPCSEC_GSS_KRB5=y |
| 686 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 748 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
| 687 | # CONFIG_SMB_FS is not set | 749 | # CONFIG_SMB_FS is not set |
| @@ -706,6 +768,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y · 18 unmodified lines | |||
| 706 | CONFIG_ENABLE_MUST_CHECK=y | 768 | CONFIG_ENABLE_MUST_CHECK=y |
| 707 | CONFIG_FRAME_WARN=1024 | 769 | CONFIG_FRAME_WARN=1024 |
| 708 | CONFIG_MAGIC_SYSRQ=y | 770 | CONFIG_MAGIC_SYSRQ=y |
| 771 | # CONFIG_STRIP_ASM_SYMS is not set | ||
| 709 | # CONFIG_UNUSED_SYMBOLS is not set | 772 | # CONFIG_UNUSED_SYMBOLS is not set |
| 710 | # CONFIG_DEBUG_FS is not set | 773 | # CONFIG_DEBUG_FS is not set |
| 711 | # CONFIG_HEADERS_CHECK is not set | 774 | # CONFIG_HEADERS_CHECK is not set |
| @@ -714,11 +777,15 @@ CONFIG_DEBUG_KERNEL=y · 2 unmodified lines | |||
| 714 | CONFIG_DETECT_SOFTLOCKUP=y | 777 | CONFIG_DETECT_SOFTLOCKUP=y |
| 715 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 778 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
| 716 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 779 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
| 780 | CONFIG_DETECT_HUNG_TASK=y | ||
| 781 | # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set | ||
| 782 | CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 | ||
| 717 | CONFIG_SCHED_DEBUG=y | 783 | CONFIG_SCHED_DEBUG=y |
| 718 | # CONFIG_SCHEDSTATS is not set | 784 | # CONFIG_SCHEDSTATS is not set |
| 719 | # CONFIG_TIMER_STATS is not set | 785 | # CONFIG_TIMER_STATS is not set |
| 720 | # CONFIG_DEBUG_OBJECTS is not set | 786 | # CONFIG_DEBUG_OBJECTS is not set |
| 721 | # CONFIG_DEBUG_SLAB is not set | 787 | # CONFIG_DEBUG_SLAB is not set |
| 788 | # CONFIG_DEBUG_KMEMLEAK is not set | ||
| 722 | # CONFIG_DEBUG_PREEMPT is not set | 789 | # CONFIG_DEBUG_PREEMPT is not set |
| 723 | # CONFIG_DEBUG_RT_MUTEXES is not set | 790 | # CONFIG_DEBUG_RT_MUTEXES is not set |
| 724 | # CONFIG_RT_MUTEX_TESTER is not set | 791 | # CONFIG_RT_MUTEX_TESTER is not set |
| @@ -738,28 +805,33 @@ CONFIG_DEBUG_MEMORY_INIT=y · 13 unmodified lines | |||
| 738 | # CONFIG_DEBUG_LIST is not set | 805 | # CONFIG_DEBUG_LIST is not set |
| 739 | # CONFIG_DEBUG_SG is not set | 806 | # CONFIG_DEBUG_SG is not set |
| 740 | # CONFIG_DEBUG_NOTIFIERS is not set | 807 | # CONFIG_DEBUG_NOTIFIERS is not set |
| 808 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
| 741 | # CONFIG_BOOT_PRINTK_DELAY is not set | 809 | # CONFIG_BOOT_PRINTK_DELAY is not set |
| 742 | # CONFIG_RCU_TORTURE_TEST is not set | 810 | # CONFIG_RCU_TORTURE_TEST is not set |
| 743 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 811 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
| 744 | # CONFIG_BACKTRACE_SELF_TEST is not set | 812 | # CONFIG_BACKTRACE_SELF_TEST is not set |
| 745 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 813 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
| 814 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
| 746 | # CONFIG_FAULT_INJECTION is not set | 815 | # CONFIG_FAULT_INJECTION is not set |
| 747 | # CONFIG_LATENCYTOP is not set | 816 | # CONFIG_LATENCYTOP is not set |
| 748 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | 817 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set |
| 818 | # CONFIG_PAGE_POISONING is not set | ||
| 749 | CONFIG_HAVE_FUNCTION_TRACER=y | 819 | CONFIG_HAVE_FUNCTION_TRACER=y |
| 750 | 820 | CONFIG_TRACING_SUPPORT=y | |
| 751 | # | 821 | CONFIG_FTRACE=y |
| 752 | # Tracers | ||
| 753 | # | ||
| 754 | # CONFIG_FUNCTION_TRACER is not set | 822 | # CONFIG_FUNCTION_TRACER is not set |
| 755 | # CONFIG_IRQSOFF_TRACER is not set | 823 | # CONFIG_IRQSOFF_TRACER is not set |
| 756 | # CONFIG_PREEMPT_TRACER is not set | 824 | # CONFIG_PREEMPT_TRACER is not set |
| 757 | # CONFIG_SCHED_TRACER is not set | 825 | # CONFIG_SCHED_TRACER is not set |
| 758 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 826 | # CONFIG_ENABLE_DEFAULT_TRACERS is not set |
| 759 | # CONFIG_BOOT_TRACER is not set | 827 | # CONFIG_BOOT_TRACER is not set |
| 760 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 828 | CONFIG_BRANCH_PROFILE_NONE=y |
| 829 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
| 830 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
| 761 | # CONFIG_STACK_TRACER is not set | 831 | # CONFIG_STACK_TRACER is not set |
| 762 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 832 | # CONFIG_KMEMTRACE is not set |
| 833 | # CONFIG_WORKQUEUE_TRACER is not set | ||
| 834 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 763 | # CONFIG_SAMPLES is not set | 835 | # CONFIG_SAMPLES is not set |
| 764 | CONFIG_HAVE_ARCH_KGDB=y | 836 | CONFIG_HAVE_ARCH_KGDB=y |
| 765 | # CONFIG_KGDB is not set | 837 | # CONFIG_KGDB is not set |
| @@ -768,7 +840,9 @@ CONFIG_DEBUG_USER=y · 2 unmodified lines | |||
| 768 | CONFIG_DEBUG_ERRORS=y | 840 | CONFIG_DEBUG_ERRORS=y |
| 769 | # CONFIG_DEBUG_STACK_USAGE is not set | 841 | # CONFIG_DEBUG_STACK_USAGE is not set |
| 770 | CONFIG_DEBUG_LL=y | 842 | CONFIG_DEBUG_LL=y |
| 843 | # CONFIG_EARLY_PRINTK is not set | ||
| 771 | # CONFIG_DEBUG_ICEDCC is not set | 844 | # CONFIG_DEBUG_ICEDCC is not set |
| 845 | # CONFIG_OC_ETM is not set | ||
| 772 | 846 | ||
| 773 | # | 847 | # |
| 774 | # Security options | 848 | # Security options |
| @@ -776,13 +850,16 @@ CONFIG_DEBUG_LL=y · 1 unmodified line | |||
| 776 | # CONFIG_KEYS is not set | 850 | # CONFIG_KEYS is not set |
| 777 | # CONFIG_SECURITY is not set | 851 | # CONFIG_SECURITY is not set |
| 778 | # CONFIG_SECURITYFS is not set | 852 | # CONFIG_SECURITYFS is not set |
| 779 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 853 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
| 854 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
| 855 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
| 856 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
| 857 | CONFIG_DEFAULT_SECURITY="" | ||
| 780 | CONFIG_CRYPTO=y | 858 | CONFIG_CRYPTO=y |
| 781 | 859 | ||
| 782 | # | 860 | # |
| 783 | # Crypto core or helper | 861 | # Crypto core or helper |
| 784 | # | 862 | # |
| 785 | # CONFIG_CRYPTO_FIPS is not set | ||
| 786 | CONFIG_CRYPTO_ALGAPI=y | 863 | CONFIG_CRYPTO_ALGAPI=y |
| 787 | CONFIG_CRYPTO_ALGAPI2=y | 864 | CONFIG_CRYPTO_ALGAPI2=y |
| 788 | CONFIG_CRYPTO_AEAD2=y | 865 | CONFIG_CRYPTO_AEAD2=y |
| @@ -791,10 +868,12 @@ CONFIG_CRYPTO_BLKCIPHER2=y · 2 unmodified lines | |||
| 791 | CONFIG_CRYPTO_HASH=y | 868 | CONFIG_CRYPTO_HASH=y |
| 792 | CONFIG_CRYPTO_HASH2=y | 869 | CONFIG_CRYPTO_HASH2=y |
| 793 | CONFIG_CRYPTO_RNG2=y | 870 | CONFIG_CRYPTO_RNG2=y |
| 871 | CONFIG_CRYPTO_PCOMP=y | ||
| 794 | CONFIG_CRYPTO_MANAGER=y | 872 | CONFIG_CRYPTO_MANAGER=y |
| 795 | CONFIG_CRYPTO_MANAGER2=y | 873 | CONFIG_CRYPTO_MANAGER2=y |
| 796 | # CONFIG_CRYPTO_GF128MUL is not set | 874 | # CONFIG_CRYPTO_GF128MUL is not set |
| 797 | # CONFIG_CRYPTO_NULL is not set | 875 | # CONFIG_CRYPTO_NULL is not set |
| 876 | CONFIG_CRYPTO_WORKQUEUE=y | ||
| 798 | # CONFIG_CRYPTO_CRYPTD is not set | 877 | # CONFIG_CRYPTO_CRYPTD is not set |
| 799 | # CONFIG_CRYPTO_AUTHENC is not set | 878 | # CONFIG_CRYPTO_AUTHENC is not set |
| 800 | # CONFIG_CRYPTO_TEST is not set | 879 | # CONFIG_CRYPTO_TEST is not set |
| @@ -822,11 +901,13 @@ CONFIG_CRYPTO_CBC=y · 21 unmodified lines | |||
| 822 | # | 901 | # |
| 823 | # CONFIG_CRYPTO_HMAC is not set | 902 | # CONFIG_CRYPTO_HMAC is not set |
| 824 | # CONFIG_CRYPTO_XCBC is not set | 903 | # CONFIG_CRYPTO_XCBC is not set |
| 904 | # CONFIG_CRYPTO_VMAC is not set | ||
| 825 | 905 | ||
| 826 | # | 906 | # |
| 827 | # Digest | 907 | # Digest |
| 828 | # | 908 | # |
| 829 | # CONFIG_CRYPTO_CRC32C is not set | 909 | # CONFIG_CRYPTO_CRC32C is not set |
| 910 | # CONFIG_CRYPTO_GHASH is not set | ||
| 830 | # CONFIG_CRYPTO_MD4 is not set | 911 | # CONFIG_CRYPTO_MD4 is not set |
| 831 | CONFIG_CRYPTO_MD5=y | 912 | CONFIG_CRYPTO_MD5=y |
| 832 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 913 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
| @@ -863,6 +944,7 @@ CONFIG_CRYPTO_DES=y · 30 unmodified lines | |||
| 863 | # Compression | 944 | # Compression |
| 864 | # | 945 | # |
| 865 | # CONFIG_CRYPTO_DEFLATE is not set | 946 | # CONFIG_CRYPTO_DEFLATE is not set |
| 947 | # CONFIG_CRYPTO_ZLIB is not set | ||
| 866 | # CONFIG_CRYPTO_LZO is not set | 948 | # CONFIG_CRYPTO_LZO is not set |
| 867 | 949 | ||
| 868 | # | 950 | # |
| @@ -870,6 +952,7 @@ CONFIG_CRYPTO_DES=y · 1 unmodified line | |||
| 870 | # | 952 | # |
| 871 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | 953 | # CONFIG_CRYPTO_ANSI_CPRNG is not set |
| 872 | CONFIG_CRYPTO_HW=y | 954 | CONFIG_CRYPTO_HW=y |
| 955 | # CONFIG_BINARY_PRINTF is not set | ||
| 873 | 956 | ||
| 874 | # | 957 | # |
| 875 | # Library routines | 958 | # Library routines |
| @@ -884,7 +967,7 @@ CONFIG_CRC32=y · 8 unmodified lines | |||
| 884 | # CONFIG_CRC7 is not set | 967 | # CONFIG_CRC7 is not set |
| 885 | # CONFIG_LIBCRC32C is not set | 968 | # CONFIG_LIBCRC32C is not set |
| 886 | CONFIG_ZLIB_INFLATE=y | 969 | CONFIG_ZLIB_INFLATE=y |
| 887 | CONFIG_PLIST=y | ||
| 888 | CONFIG_HAS_IOMEM=y | 970 | CONFIG_HAS_IOMEM=y |
| 889 | CONFIG_HAS_IOPORT=y | 971 | CONFIG_HAS_IOPORT=y |
| 890 | CONFIG_HAS_DMA=y | 972 | CONFIG_HAS_DMA=y |
| 973 | CONFIG_NLATTR=y | ||
| @@ -0,0 +1,1898 @@ | |||
| 1 | # | ||
| 2 | # Automatically generated make config: don't edit | ||
| 3 | # Linux kernel version: 2.6.32-rc5 | ||
| 4 | # Sun Nov 1 21:57:32 2009 | ||
| 5 | # | ||
| 6 | CONFIG_ARM=y | ||
| 7 | CONFIG_HAVE_PWM=y | ||
| 8 | CONFIG_SYS_SUPPORTS_APM_EMULATION=y | ||
| 9 | CONFIG_GENERIC_GPIO=y | ||
| 10 | CONFIG_GENERIC_TIME=y | ||
| 11 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
| 12 | CONFIG_GENERIC_HARDIRQS=y | ||
| 13 | CONFIG_STACKTRACE_SUPPORT=y | ||
| 14 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
| 15 | CONFIG_LOCKDEP_SUPPORT=y | ||
| 16 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
| 17 | CONFIG_HARDIRQS_SW_RESEND=y | ||
| 18 | CONFIG_GENERIC_IRQ_PROBE=y | ||
| 19 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
| 20 | CONFIG_ARCH_HAS_CPUFREQ=y | ||
| 21 | CONFIG_GENERIC_HWEIGHT=y | ||
| 22 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
| 23 | CONFIG_ARCH_MTD_XIP=y | ||
| 24 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
| 25 | CONFIG_VECTORS_BASE=0xffff0000 | ||
| 26 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
| 27 | CONFIG_CONSTRUCTORS=y | ||
| 28 | |||
| 29 | # | ||
| 30 | # General setup | ||
| 31 | # | ||
| 32 | CONFIG_EXPERIMENTAL=y | ||
| 33 | CONFIG_BROKEN_ON_SMP=y | ||
| 34 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
| 35 | CONFIG_LOCALVERSION="" | ||
| 36 | # CONFIG_LOCALVERSION_AUTO is not set | ||
| 37 | # CONFIG_SWAP is not set | ||
| 38 | # CONFIG_SYSVIPC is not set | ||
| 39 | # CONFIG_POSIX_MQUEUE is not set | ||
| 40 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
| 41 | # CONFIG_TASKSTATS is not set | ||
| 42 | # CONFIG_AUDIT is not set | ||
| 43 | |||
| 44 | # | ||
| 45 | # RCU Subsystem | ||
| 46 | # | ||
| 47 | CONFIG_TREE_RCU=y | ||
| 48 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
| 49 | # CONFIG_RCU_TRACE is not set | ||
| 50 | CONFIG_RCU_FANOUT=32 | ||
| 51 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
| 52 | # CONFIG_TREE_RCU_TRACE is not set | ||
| 53 | # CONFIG_IKCONFIG is not set | ||
| 54 | CONFIG_LOG_BUF_SHIFT=17 | ||
| 55 | # CONFIG_GROUP_SCHED is not set | ||
| 56 | # CONFIG_CGROUPS is not set | ||
| 57 | # CONFIG_SYSFS_DEPRECATED_V2 is not set | ||
| 58 | # CONFIG_RELAY is not set | ||
| 59 | CONFIG_NAMESPACES=y | ||
| 60 | # CONFIG_UTS_NS is not set | ||
| 61 | # CONFIG_USER_NS is not set | ||
| 62 | # CONFIG_PID_NS is not set | ||
| 63 | # CONFIG_NET_NS is not set | ||
| 64 | # CONFIG_BLK_DEV_INITRD is not set | ||
| 65 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
| 66 | CONFIG_SYSCTL=y | ||
| 67 | CONFIG_ANON_INODES=y | ||
| 68 | # CONFIG_EMBEDDED is not set | ||
| 69 | CONFIG_UID16=y | ||
| 70 | CONFIG_SYSCTL_SYSCALL=y | ||
| 71 | CONFIG_KALLSYMS=y | ||
| 72 | # CONFIG_KALLSYMS_ALL is not set | ||
| 73 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
| 74 | CONFIG_HOTPLUG=y | ||
| 75 | CONFIG_PRINTK=y | ||
| 76 | CONFIG_BUG=y | ||
| 77 | CONFIG_ELF_CORE=y | ||
| 78 | CONFIG_BASE_FULL=y | ||
| 79 | CONFIG_FUTEX=y | ||
| 80 | CONFIG_EPOLL=y | ||
| 81 | CONFIG_SIGNALFD=y | ||
| 82 | CONFIG_TIMERFD=y | ||
| 83 | CONFIG_EVENTFD=y | ||
| 84 | CONFIG_SHMEM=y | ||
| 85 | CONFIG_AIO=y | ||
| 86 | |||
| 87 | # | ||
| 88 | # Kernel Performance Events And Counters | ||
| 89 | # | ||
| 90 | CONFIG_VM_EVENT_COUNTERS=y | ||
| 91 | CONFIG_SLUB_DEBUG=y | ||
| 92 | CONFIG_COMPAT_BRK=y | ||
| 93 | # CONFIG_SLAB is not set | ||
| 94 | CONFIG_SLUB=y | ||
| 95 | # CONFIG_SLOB is not set | ||
| 96 | # CONFIG_PROFILING is not set | ||
| 97 | CONFIG_HAVE_OPROFILE=y | ||
| 98 | # CONFIG_KPROBES is not set | ||
| 99 | CONFIG_HAVE_KPROBES=y | ||
| 100 | CONFIG_HAVE_KRETPROBES=y | ||
| 101 | CONFIG_HAVE_CLK=y | ||
| 102 | |||
| 103 | # | ||
| 104 | # GCOV-based kernel profiling | ||
| 105 | # | ||
| 106 | CONFIG_SLOW_WORK=y | ||
| 107 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | ||
| 108 | CONFIG_SLABINFO=y | ||
| 109 | CONFIG_RT_MUTEXES=y | ||
| 110 | CONFIG_BASE_SMALL=0 | ||
| 111 | CONFIG_MODULES=y | ||
| 112 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
| 113 | CONFIG_MODULE_UNLOAD=y | ||
| 114 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
| 115 | # CONFIG_MODVERSIONS is not set | ||
| 116 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
| 117 | CONFIG_BLOCK=y | ||
| 118 | # CONFIG_LBDAF is not set | ||
| 119 | # CONFIG_BLK_DEV_BSG is not set | ||
| 120 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
| 121 | |||
| 122 | # | ||
| 123 | # IO Schedulers | ||
| 124 | # | ||
| 125 | CONFIG_IOSCHED_NOOP=y | ||
| 126 | CONFIG_IOSCHED_AS=y | ||
| 127 | CONFIG_IOSCHED_DEADLINE=y | ||
| 128 | CONFIG_IOSCHED_CFQ=y | ||
| 129 | # CONFIG_DEFAULT_AS is not set | ||
| 130 | # CONFIG_DEFAULT_DEADLINE is not set | ||
| 131 | CONFIG_DEFAULT_CFQ=y | ||
| 132 | # CONFIG_DEFAULT_NOOP is not set | ||
| 133 | CONFIG_DEFAULT_IOSCHED="cfq" | ||
| 134 | CONFIG_FREEZER=y | ||
| 135 | |||
| 136 | # | ||
| 137 | # System Type | ||
| 138 | # | ||
| 139 | CONFIG_MMU=y | ||
| 140 | # CONFIG_ARCH_AAEC2000 is not set | ||
| 141 | # CONFIG_ARCH_INTEGRATOR is not set | ||
| 142 | # CONFIG_ARCH_REALVIEW is not set | ||
| 143 | # CONFIG_ARCH_VERSATILE is not set | ||
| 144 | # CONFIG_ARCH_AT91 is not set | ||
| 145 | # CONFIG_ARCH_CLPS711X is not set | ||
| 146 | # CONFIG_ARCH_GEMINI is not set | ||
| 147 | # CONFIG_ARCH_EBSA110 is not set | ||
| 148 | # CONFIG_ARCH_EP93XX is not set | ||
| 149 | # CONFIG_ARCH_FOOTBRIDGE is not set | ||
| 150 | # CONFIG_ARCH_MXC is not set | ||
| 151 | # CONFIG_ARCH_STMP3XXX is not set | ||
| 152 | # CONFIG_ARCH_NETX is not set | ||
| 153 | # CONFIG_ARCH_H720X is not set | ||
| 154 | # CONFIG_ARCH_NOMADIK is not set | ||
| 155 | # CONFIG_ARCH_IOP13XX is not set | ||
| 156 | # CONFIG_ARCH_IOP32X is not set | ||
| 157 | # CONFIG_ARCH_IOP33X is not set | ||
| 158 | # CONFIG_ARCH_IXP23XX is not set | ||
| 159 | # CONFIG_ARCH_IXP2000 is not set | ||
| 160 | # CONFIG_ARCH_IXP4XX is not set | ||
| 161 | # CONFIG_ARCH_L7200 is not set | ||
| 162 | # CONFIG_ARCH_KIRKWOOD is not set | ||
| 163 | # CONFIG_ARCH_LOKI is not set | ||
| 164 | # CONFIG_ARCH_MV78XX0 is not set | ||
| 165 | # CONFIG_ARCH_ORION5X is not set | ||
| 166 | # CONFIG_ARCH_MMP is not set | ||
| 167 | # CONFIG_ARCH_KS8695 is not set | ||
| 168 | # CONFIG_ARCH_NS9XXX is not set | ||
| 169 | # CONFIG_ARCH_W90X900 is not set | ||
| 170 | # CONFIG_ARCH_PNX4008 is not set | ||
| 171 | CONFIG_ARCH_PXA=y | ||
| 172 | # CONFIG_ARCH_MSM is not set | ||
| 173 | # CONFIG_ARCH_RPC is not set | ||
| 174 | # CONFIG_ARCH_SA1100 is not set | ||
| 175 | # CONFIG_ARCH_S3C2410 is not set | ||
| 176 | # CONFIG_ARCH_S3C64XX is not set | ||
| 177 | # CONFIG_ARCH_S5PC1XX is not set | ||
| 178 | # CONFIG_ARCH_SHARK is not set | ||
| 179 | # CONFIG_ARCH_LH7A40X is not set | ||
| 180 | # CONFIG_ARCH_U300 is not set | ||
| 181 | # CONFIG_ARCH_DAVINCI is not set | ||
| 182 | # CONFIG_ARCH_OMAP is not set | ||
| 183 | # CONFIG_ARCH_BCMRING is not set | ||
| 184 | |||
| 185 | # | ||
| 186 | # Intel PXA2xx/PXA3xx Implementations | ||
| 187 | # | ||
| 188 | |||
| 189 | # | ||
| 190 | # Supported PXA3xx Processor Variants | ||
| 191 | # | ||
| 192 | CONFIG_CPU_PXA300=y | ||
| 193 | # CONFIG_CPU_PXA310 is not set | ||
| 194 | CONFIG_CPU_PXA320=y | ||
| 195 | # CONFIG_CPU_PXA930 is not set | ||
| 196 | # CONFIG_CPU_PXA935 is not set | ||
| 197 | # CONFIG_CPU_PXA950 is not set | ||
| 198 | |||
| 199 | # | ||
| 200 | # Intel/Marvell Dev Platforms (sorted by hardware release time) | ||
| 201 | # | ||
| 202 | # CONFIG_ARCH_LUBBOCK is not set | ||
| 203 | # CONFIG_MACH_MAINSTONE is not set | ||
| 204 | # CONFIG_MACH_ZYLONITE is not set | ||
| 205 | # CONFIG_MACH_LITTLETON is not set | ||
| 206 | # CONFIG_MACH_TAVOREVB is not set | ||
| 207 | # CONFIG_MACH_SAAR is not set | ||
| 208 | |||
| 209 | # | ||
| 210 | # Third Party Dev Platforms (sorted by vendor name) | ||
| 211 | # | ||
| 212 | # CONFIG_ARCH_PXA_IDP is not set | ||
| 213 | # CONFIG_ARCH_VIPER is not set | ||
| 214 | # CONFIG_MACH_BALLOON3 is not set | ||
| 215 | # CONFIG_MACH_CSB726 is not set | ||
| 216 | # CONFIG_MACH_ARMCORE is not set | ||
| 217 | # CONFIG_MACH_EM_X270 is not set | ||
| 218 | # CONFIG_MACH_EXEDA is not set | ||
| 219 | # CONFIG_MACH_CM_X300 is not set | ||
| 220 | # CONFIG_ARCH_GUMSTIX is not set | ||
| 221 | # CONFIG_MACH_INTELMOTE2 is not set | ||
| 222 | # CONFIG_MACH_STARGATE2 is not set | ||
| 223 | # CONFIG_MACH_XCEP is not set | ||
| 224 | # CONFIG_TRIZEPS_PXA is not set | ||
| 225 | # CONFIG_MACH_LOGICPD_PXA270 is not set | ||
| 226 | # CONFIG_MACH_PCM027 is not set | ||
| 227 | # CONFIG_MACH_COLIBRI is not set | ||
| 228 | # CONFIG_MACH_COLIBRI300 is not set | ||
| 229 | # CONFIG_MACH_COLIBRI320 is not set | ||
| 230 | |||
| 231 | # | ||
| 232 | # End-user Products (sorted by vendor name) | ||
| 233 | # | ||
| 234 | # CONFIG_MACH_H4700 is not set | ||
| 235 | # CONFIG_MACH_H5000 is not set | ||
| 236 | # CONFIG_MACH_HIMALAYA is not set | ||
| 237 | # CONFIG_MACH_MAGICIAN is not set | ||
| 238 | # CONFIG_MACH_MIOA701 is not set | ||
| 239 | # CONFIG_PXA_EZX is not set | ||
| 240 | # CONFIG_MACH_MP900C is not set | ||
| 241 | # CONFIG_ARCH_PXA_PALM is not set | ||
| 242 | CONFIG_MACH_RAUMFELD_RC=y | ||
| 243 | CONFIG_MACH_RAUMFELD_CONNECTOR=y | ||
| 244 | CONFIG_MACH_RAUMFELD_PROTO=y | ||
| 245 | CONFIG_MACH_RAUMFELD_SPEAKER=y | ||
| 246 | # CONFIG_PXA_SHARPSL is not set | ||
| 247 | # CONFIG_ARCH_PXA_ESERIES is not set | ||
| 248 | CONFIG_PXA3xx=y | ||
| 249 | CONFIG_PXA_SSP=y | ||
| 250 | CONFIG_PLAT_PXA=y | ||
| 251 | |||
| 252 | # | ||
| 253 | # Processor Type | ||
| 254 | # | ||
| 255 | CONFIG_CPU_32=y | ||
| 256 | CONFIG_CPU_XSC3=y | ||
| 257 | CONFIG_CPU_32v5=y | ||
| 258 | CONFIG_CPU_ABRT_EV5T=y | ||
| 259 | CONFIG_CPU_PABRT_LEGACY=y | ||
| 260 | CONFIG_CPU_CACHE_VIVT=y | ||
| 261 | CONFIG_CPU_TLB_V4WBI=y | ||
| 262 | CONFIG_CPU_CP15=y | ||
| 263 | CONFIG_CPU_CP15_MMU=y | ||
| 264 | CONFIG_IO_36=y | ||
| 265 | |||
| 266 | # | ||
| 267 | # Processor Features | ||
| 268 | # | ||
| 269 | CONFIG_ARM_THUMB=y | ||
| 270 | # CONFIG_CPU_DCACHE_DISABLE is not set | ||
| 271 | # CONFIG_CPU_BPREDICT_DISABLE is not set | ||
| 272 | CONFIG_OUTER_CACHE=y | ||
| 273 | CONFIG_CACHE_XSC3L2=y | ||
| 274 | CONFIG_ARM_L1_CACHE_SHIFT=5 | ||
| 275 | CONFIG_IWMMXT=y | ||
| 276 | CONFIG_COMMON_CLKDEV=y | ||
| 277 | |||
| 278 | # | ||
| 279 | # Bus support | ||
| 280 | # | ||
| 281 | # CONFIG_PCI_SYSCALL is not set | ||
| 282 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
| 283 | # CONFIG_PCCARD is not set | ||
| 284 | |||
| 285 | # | ||
| 286 | # Kernel Features | ||
| 287 | # | ||
| 288 | CONFIG_TICK_ONESHOT=y | ||
| 289 | CONFIG_NO_HZ=y | ||
| 290 | # CONFIG_HIGH_RES_TIMERS is not set | ||
| 291 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
| 292 | CONFIG_VMSPLIT_3G=y | ||
| 293 | # CONFIG_VMSPLIT_2G is not set | ||
| 294 | # CONFIG_VMSPLIT_1G is not set | ||
| 295 | CONFIG_PAGE_OFFSET=0xC0000000 | ||
| 296 | CONFIG_PREEMPT_NONE=y | ||
| 297 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
| 298 | # CONFIG_PREEMPT is not set | ||
| 299 | CONFIG_HZ=100 | ||
| 300 | CONFIG_AEABI=y | ||
| 301 | # CONFIG_OABI_COMPAT is not set | ||
| 302 | # CONFIG_ARCH_SPARSEMEM_DEFAULT is not set | ||
| 303 | # CONFIG_ARCH_SELECT_MEMORY_MODEL is not set | ||
| 304 | # CONFIG_HIGHMEM is not set | ||
| 305 | CONFIG_SELECT_MEMORY_MODEL=y | ||
| 306 | CONFIG_FLATMEM_MANUAL=y | ||
| 307 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
| 308 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
| 309 | CONFIG_FLATMEM=y | ||
| 310 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
| 311 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
| 312 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | ||
| 313 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
| 314 | CONFIG_ZONE_DMA_FLAG=0 | ||
| 315 | CONFIG_VIRT_TO_BUS=y | ||
| 316 | CONFIG_HAVE_MLOCK=y | ||
| 317 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
| 318 | # CONFIG_KSM is not set | ||
| 319 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
| 320 | CONFIG_ALIGNMENT_TRAP=y | ||
| 321 | # CONFIG_UACCESS_WITH_MEMCPY is not set | ||
| 322 | |||
| 323 | # | ||
| 324 | # Boot options | ||
| 325 | # | ||
| 326 | CONFIG_ZBOOT_ROM_TEXT=0 | ||
| 327 | CONFIG_ZBOOT_ROM_BSS=0 | ||
| 328 | CONFIG_CMDLINE="console=ttyS0,115200 rw" | ||
| 329 | # CONFIG_XIP_KERNEL is not set | ||
| 330 | # CONFIG_KEXEC is not set | ||
| 331 | |||
| 332 | # | ||
| 333 | # CPU Power Management | ||
| 334 | # | ||
| 335 | CONFIG_CPU_FREQ=y | ||
| 336 | CONFIG_CPU_FREQ_TABLE=y | ||
| 337 | # CONFIG_CPU_FREQ_DEBUG is not set | ||
| 338 | CONFIG_CPU_FREQ_STAT=y | ||
| 339 | # CONFIG_CPU_FREQ_STAT_DETAILS is not set | ||
| 340 | CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y | ||
| 341 | # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set | ||
| 342 | # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set | ||
| 343 | # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set | ||
| 344 | # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set | ||
| 345 | CONFIG_CPU_FREQ_GOV_PERFORMANCE=y | ||
| 346 | # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set | ||
| 347 | # CONFIG_CPU_FREQ_GOV_USERSPACE is not set | ||
| 348 | # CONFIG_CPU_FREQ_GOV_ONDEMAND is not set | ||
| 349 | # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set | ||
| 350 | CONFIG_CPU_IDLE=y | ||
| 351 | CONFIG_CPU_IDLE_GOV_LADDER=y | ||
| 352 | CONFIG_CPU_IDLE_GOV_MENU=y | ||
| 353 | |||
| 354 | # | ||
| 355 | # Floating point emulation | ||
| 356 | # | ||
| 357 | |||
| 358 | # | ||
| 359 | # At least one emulation must be selected | ||
| 360 | # | ||
| 361 | |||
| 362 | # | ||
| 363 | # Userspace binary formats | ||
| 364 | # | ||
| 365 | CONFIG_BINFMT_ELF=y | ||
| 366 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
| 367 | CONFIG_HAVE_AOUT=y | ||
| 368 | # CONFIG_BINFMT_AOUT is not set | ||
| 369 | # CONFIG_BINFMT_MISC is not set | ||
| 370 | |||
| 371 | # | ||
| 372 | # Power management options | ||
| 373 | # | ||
| 374 | CONFIG_PM=y | ||
| 375 | # CONFIG_PM_DEBUG is not set | ||
| 376 | CONFIG_PM_SLEEP=y | ||
| 377 | CONFIG_SUSPEND=y | ||
| 378 | CONFIG_SUSPEND_FREEZER=y | ||
| 379 | CONFIG_APM_EMULATION=y | ||
| 380 | # CONFIG_PM_RUNTIME is not set | ||
| 381 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | ||
| 382 | CONFIG_NET=y | ||
| 383 | |||
| 384 | # | ||
| 385 | # Networking options | ||
| 386 | # | ||
| 387 | CONFIG_PACKET=y | ||
| 388 | CONFIG_PACKET_MMAP=y | ||
| 389 | CONFIG_UNIX=y | ||
| 390 | CONFIG_XFRM=y | ||
| 391 | # CONFIG_XFRM_USER is not set | ||
| 392 | # CONFIG_XFRM_SUB_POLICY is not set | ||
| 393 | # CONFIG_XFRM_MIGRATE is not set | ||
| 394 | # CONFIG_XFRM_STATISTICS is not set | ||
| 395 | # CONFIG_NET_KEY is not set | ||
| 396 | CONFIG_INET=y | ||
| 397 | CONFIG_IP_MULTICAST=y | ||
| 398 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
| 399 | CONFIG_IP_FIB_HASH=y | ||
| 400 | CONFIG_IP_PNP=y | ||
| 401 | # CONFIG_IP_PNP_DHCP is not set | ||
| 402 | # CONFIG_IP_PNP_BOOTP is not set | ||
| 403 | # CONFIG_IP_PNP_RARP is not set | ||
| 404 | # CONFIG_NET_IPIP is not set | ||
| 405 | # CONFIG_NET_IPGRE is not set | ||
| 406 | # CONFIG_IP_MROUTE is not set | ||
| 407 | # CONFIG_ARPD is not set | ||
| 408 | CONFIG_SYN_COOKIES=y | ||
| 409 | # CONFIG_INET_AH is not set | ||
| 410 | # CONFIG_INET_ESP is not set | ||
| 411 | # CONFIG_INET_IPCOMP is not set | ||
| 412 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
| 413 | CONFIG_INET_TUNNEL=y | ||
| 414 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
| 415 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
| 416 | CONFIG_INET_XFRM_MODE_BEET=y | ||
| 417 | # CONFIG_INET_LRO is not set | ||
| 418 | CONFIG_INET_DIAG=y | ||
| 419 | CONFIG_INET_TCP_DIAG=y | ||
| 420 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
| 421 | CONFIG_TCP_CONG_CUBIC=y | ||
| 422 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
| 423 | # CONFIG_TCP_MD5SIG is not set | ||
| 424 | CONFIG_IPV6=y | ||
| 425 | # CONFIG_IPV6_PRIVACY is not set | ||
| 426 | # CONFIG_IPV6_ROUTER_PREF is not set | ||
| 427 | # CONFIG_IPV6_OPTIMISTIC_DAD is not set | ||
| 428 | # CONFIG_INET6_AH is not set | ||
| 429 | # CONFIG_INET6_ESP is not set | ||
| 430 | # CONFIG_INET6_IPCOMP is not set | ||
| 431 | # CONFIG_IPV6_MIP6 is not set | ||
| 432 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 433 | # CONFIG_INET6_TUNNEL is not set | ||
| 434 | CONFIG_INET6_XFRM_MODE_TRANSPORT=y | ||
| 435 | CONFIG_INET6_XFRM_MODE_TUNNEL=y | ||
| 436 | CONFIG_INET6_XFRM_MODE_BEET=y | ||
| 437 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set | ||
| 438 | CONFIG_IPV6_SIT=y | ||
| 439 | CONFIG_IPV6_NDISC_NODETYPE=y | ||
| 440 | # CONFIG_IPV6_TUNNEL is not set | ||
| 441 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | ||
| 442 | # CONFIG_IPV6_MROUTE is not set | ||
| 443 | # CONFIG_NETWORK_SECMARK is not set | ||
| 444 | # CONFIG_NETFILTER is not set | ||
| 445 | # CONFIG_IP_DCCP is not set | ||
| 446 | # CONFIG_IP_SCTP is not set | ||
| 447 | # CONFIG_RDS is not set | ||
| 448 | # CONFIG_TIPC is not set | ||
| 449 | # CONFIG_ATM is not set | ||
| 450 | # CONFIG_BRIDGE is not set | ||
| 451 | # CONFIG_NET_DSA is not set | ||
| 452 | # CONFIG_VLAN_8021Q is not set | ||
| 453 | # CONFIG_DECNET is not set | ||
| 454 | # CONFIG_LLC2 is not set | ||
| 455 | # CONFIG_IPX is not set | ||
| 456 | # CONFIG_ATALK is not set | ||
| 457 | # CONFIG_X25 is not set | ||
| 458 | # CONFIG_LAPB is not set | ||
| 459 | # CONFIG_ECONET is not set | ||
| 460 | # CONFIG_WAN_ROUTER is not set | ||
| 461 | # CONFIG_PHONET is not set | ||
| 462 | # CONFIG_IEEE802154 is not set | ||
| 463 | # CONFIG_NET_SCHED is not set | ||
| 464 | # CONFIG_DCB is not set | ||
| 465 | |||
| 466 | # | ||
| 467 | # Network testing | ||
| 468 | # | ||
| 469 | # CONFIG_NET_PKTGEN is not set | ||
| 470 | # CONFIG_HAMRADIO is not set | ||
| 471 | # CONFIG_CAN is not set | ||
| 472 | # CONFIG_IRDA is not set | ||
| 473 | # CONFIG_BT is not set | ||
| 474 | # CONFIG_AF_RXRPC is not set | ||
| 475 | CONFIG_WIRELESS=y | ||
| 476 | CONFIG_CFG80211=y | ||
| 477 | # CONFIG_NL80211_TESTMODE is not set | ||
| 478 | # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set | ||
| 479 | CONFIG_CFG80211_REG_DEBUG=y | ||
| 480 | CONFIG_CFG80211_DEFAULT_PS=y | ||
| 481 | CONFIG_CFG80211_DEFAULT_PS_VALUE=1 | ||
| 482 | CONFIG_WIRELESS_OLD_REGULATORY=y | ||
| 483 | CONFIG_WIRELESS_EXT=y | ||
| 484 | CONFIG_WIRELESS_EXT_SYSFS=y | ||
| 485 | CONFIG_LIB80211=y | ||
| 486 | # CONFIG_LIB80211_DEBUG is not set | ||
| 487 | CONFIG_MAC80211=y | ||
| 488 | CONFIG_MAC80211_RC_MINSTREL=y | ||
| 489 | # CONFIG_MAC80211_RC_DEFAULT_PID is not set | ||
| 490 | CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y | ||
| 491 | CONFIG_MAC80211_RC_DEFAULT="minstrel" | ||
| 492 | # CONFIG_MAC80211_MESH is not set | ||
| 493 | # CONFIG_MAC80211_LEDS is not set | ||
| 494 | # CONFIG_MAC80211_DEBUG_MENU is not set | ||
| 495 | # CONFIG_WIMAX is not set | ||
| 496 | # CONFIG_RFKILL is not set | ||
| 497 | # CONFIG_NET_9P is not set | ||
| 498 | |||
| 499 | # | ||
| 500 | # Device Drivers | ||
| 501 | # | ||
| 502 | |||
| 503 | # | ||
| 504 | # Generic Driver Options | ||
| 505 | # | ||
| 506 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
| 507 | # CONFIG_DEVTMPFS is not set | ||
| 508 | CONFIG_STANDALONE=y | ||
| 509 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
| 510 | CONFIG_FW_LOADER=y | ||
| 511 | CONFIG_FIRMWARE_IN_KERNEL=y | ||
| 512 | CONFIG_EXTRA_FIRMWARE="" | ||
| 513 | # CONFIG_DEBUG_DRIVER is not set | ||
| 514 | # CONFIG_DEBUG_DEVRES is not set | ||
| 515 | # CONFIG_SYS_HYPERVISOR is not set | ||
| 516 | # CONFIG_CONNECTOR is not set | ||
| 517 | CONFIG_MTD=y | ||
| 518 | # CONFIG_MTD_DEBUG is not set | ||
| 519 | # CONFIG_MTD_TESTS is not set | ||
| 520 | CONFIG_MTD_CONCAT=y | ||
| 521 | CONFIG_MTD_PARTITIONS=y | ||
| 522 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
| 523 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
| 524 | # CONFIG_MTD_AFS_PARTS is not set | ||
| 525 | # CONFIG_MTD_AR7_PARTS is not set | ||
| 526 | |||
| 527 | # | ||
| 528 | # User Modules And Translation Layers | ||
| 529 | # | ||
| 530 | CONFIG_MTD_CHAR=y | ||
| 531 | CONFIG_MTD_BLKDEVS=y | ||
| 532 | CONFIG_MTD_BLOCK=y | ||
| 533 | # CONFIG_FTL is not set | ||
| 534 | CONFIG_NFTL=y | ||
| 535 | CONFIG_NFTL_RW=y | ||
| 536 | # CONFIG_INFTL is not set | ||
| 537 | # CONFIG_RFD_FTL is not set | ||
| 538 | # CONFIG_SSFDC is not set | ||
| 539 | # CONFIG_MTD_OOPS is not set | ||
| 540 | |||
| 541 | # | ||
| 542 | # RAM/ROM/Flash chip drivers | ||
| 543 | # | ||
| 544 | # CONFIG_MTD_CFI is not set | ||
| 545 | # CONFIG_MTD_JEDECPROBE is not set | ||
| 546 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
| 547 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
| 548 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
| 549 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
| 550 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
| 551 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
| 552 | CONFIG_MTD_CFI_I1=y | ||
| 553 | CONFIG_MTD_CFI_I2=y | ||
| 554 | # CONFIG_MTD_CFI_I4 is not set | ||
| 555 | # CONFIG_MTD_CFI_I8 is not set | ||
| 556 | # CONFIG_MTD_RAM is not set | ||
| 557 | # CONFIG_MTD_ROM is not set | ||
| 558 | # CONFIG_MTD_ABSENT is not set | ||
| 559 | |||
| 560 | # | ||
| 561 | # Mapping drivers for chip access | ||
| 562 | # | ||
| 563 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
| 564 | # CONFIG_MTD_PLATRAM is not set | ||
| 565 | |||
| 566 | # | ||
| 567 | # Self-contained MTD device drivers | ||
| 568 | # | ||
| 569 | # CONFIG_MTD_DATAFLASH is not set | ||
| 570 | # CONFIG_MTD_M25P80 is not set | ||
| 571 | # CONFIG_MTD_SST25L is not set | ||
| 572 | # CONFIG_MTD_SLRAM is not set | ||
| 573 | # CONFIG_MTD_PHRAM is not set | ||
| 574 | # CONFIG_MTD_MTDRAM is not set | ||
| 575 | CONFIG_MTD_BLOCK2MTD=y | ||
| 576 | |||
| 577 | # | ||
| 578 | # Disk-On-Chip Device Drivers | ||
| 579 | # | ||
| 580 | # CONFIG_MTD_DOC2000 is not set | ||
| 581 | # CONFIG_MTD_DOC2001 is not set | ||
| 582 | # CONFIG_MTD_DOC2001PLUS is not set | ||
| 583 | CONFIG_MTD_NAND=y | ||
| 584 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | ||
| 585 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
| 586 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | ||
| 587 | # CONFIG_MTD_NAND_H1900 is not set | ||
| 588 | # CONFIG_MTD_NAND_GPIO is not set | ||
| 589 | CONFIG_MTD_NAND_IDS=y | ||
| 590 | # CONFIG_MTD_NAND_DISKONCHIP is not set | ||
| 591 | # CONFIG_MTD_NAND_SHARPSL is not set | ||
| 592 | CONFIG_MTD_NAND_PXA3xx=y | ||
| 593 | # CONFIG_MTD_NAND_PXA3xx_BUILTIN is not set | ||
| 594 | # CONFIG_MTD_NAND_NANDSIM is not set | ||
| 595 | # CONFIG_MTD_NAND_PLATFORM is not set | ||
| 596 | # CONFIG_MTD_ALAUDA is not set | ||
| 597 | # CONFIG_MTD_ONENAND is not set | ||
| 598 | |||
| 599 | # | ||
| 600 | # LPDDR flash memory drivers | ||
| 601 | # | ||
| 602 | # CONFIG_MTD_LPDDR is not set | ||
| 603 | |||
| 604 | # | ||
| 605 | # UBI - Unsorted block images | ||
| 606 | # | ||
| 607 | CONFIG_MTD_UBI=y | ||
| 608 | CONFIG_MTD_UBI_WL_THRESHOLD=4096 | ||
| 609 | CONFIG_MTD_UBI_BEB_RESERVE=1 | ||
| 610 | # CONFIG_MTD_UBI_GLUEBI is not set | ||
| 611 | |||
| 612 | # | ||
| 613 | # UBI debugging options | ||
| 614 | # | ||
| 615 | # CONFIG_MTD_UBI_DEBUG is not set | ||
| 616 | # CONFIG_PARPORT is not set | ||
| 617 | CONFIG_BLK_DEV=y | ||
| 618 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
| 619 | CONFIG_BLK_DEV_LOOP=y | ||
| 620 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
| 621 | # CONFIG_BLK_DEV_NBD is not set | ||
| 622 | # CONFIG_BLK_DEV_UB is not set | ||
| 623 | # CONFIG_BLK_DEV_RAM is not set | ||
| 624 | # CONFIG_CDROM_PKTCDVD is not set | ||
| 625 | # CONFIG_ATA_OVER_ETH is not set | ||
| 626 | # CONFIG_MG_DISK is not set | ||
| 627 | CONFIG_MISC_DEVICES=y | ||
| 628 | # CONFIG_ICS932S401 is not set | ||
| 629 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
| 630 | CONFIG_ISL29003=y | ||
| 631 | CONFIG_TI_DAC7512=y | ||
| 632 | # CONFIG_C2PORT is not set | ||
| 633 | |||
| 634 | # | ||
| 635 | # EEPROM support | ||
| 636 | # | ||
| 637 | # CONFIG_EEPROM_AT24 is not set | ||
| 638 | # CONFIG_EEPROM_AT25 is not set | ||
| 639 | # CONFIG_EEPROM_LEGACY is not set | ||
| 640 | # CONFIG_EEPROM_MAX6875 is not set | ||
| 641 | # CONFIG_EEPROM_93CX6 is not set | ||
| 642 | CONFIG_HAVE_IDE=y | ||
| 643 | # CONFIG_IDE is not set | ||
| 644 | |||
| 645 | # | ||
| 646 | # SCSI device support | ||
| 647 | # | ||
| 648 | # CONFIG_RAID_ATTRS is not set | ||
| 649 | CONFIG_SCSI=y | ||
| 650 | CONFIG_SCSI_DMA=y | ||
| 651 | # CONFIG_SCSI_TGT is not set | ||
| 652 | # CONFIG_SCSI_NETLINK is not set | ||
| 653 | CONFIG_SCSI_PROC_FS=y | ||
| 654 | |||
| 655 | # | ||
| 656 | # SCSI support type (disk, tape, CD-ROM) | ||
| 657 | # | ||
| 658 | CONFIG_BLK_DEV_SD=y | ||
| 659 | # CONFIG_CHR_DEV_ST is not set | ||
| 660 | # CONFIG_CHR_DEV_OSST is not set | ||
| 661 | # CONFIG_BLK_DEV_SR is not set | ||
| 662 | CONFIG_CHR_DEV_SG=y | ||
| 663 | # CONFIG_CHR_DEV_SCH is not set | ||
| 664 | # CONFIG_SCSI_MULTI_LUN is not set | ||
| 665 | # CONFIG_SCSI_CONSTANTS is not set | ||
| 666 | # CONFIG_SCSI_LOGGING is not set | ||
| 667 | # CONFIG_SCSI_SCAN_ASYNC is not set | ||
| 668 | CONFIG_SCSI_WAIT_SCAN=m | ||
| 669 | |||
| 670 | # | ||
| 671 | # SCSI Transports | ||
| 672 | # | ||
| 673 | # CONFIG_SCSI_SPI_ATTRS is not set | ||
| 674 | # CONFIG_SCSI_FC_ATTRS is not set | ||
| 675 | # CONFIG_SCSI_ISCSI_ATTRS is not set | ||
| 676 | # CONFIG_SCSI_SAS_LIBSAS is not set | ||
| 677 | # CONFIG_SCSI_SRP_ATTRS is not set | ||
| 678 | CONFIG_SCSI_LOWLEVEL=y | ||
| 679 | # CONFIG_ISCSI_TCP is not set | ||
| 680 | # CONFIG_LIBFC is not set | ||
| 681 | # CONFIG_LIBFCOE is not set | ||
| 682 | # CONFIG_SCSI_DEBUG is not set | ||
| 683 | # CONFIG_SCSI_DH is not set | ||
| 684 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
| 685 | # CONFIG_ATA is not set | ||
| 686 | # CONFIG_MD is not set | ||
| 687 | CONFIG_NETDEVICES=y | ||
| 688 | # CONFIG_DUMMY is not set | ||
| 689 | # CONFIG_BONDING is not set | ||
| 690 | # CONFIG_MACVLAN is not set | ||
| 691 | # CONFIG_EQUALIZER is not set | ||
| 692 | # CONFIG_TUN is not set | ||
| 693 | # CONFIG_VETH is not set | ||
| 694 | CONFIG_PHYLIB=y | ||
| 695 | |||
| 696 | # | ||
| 697 | # MII PHY device drivers | ||
| 698 | # | ||
| 699 | # CONFIG_MARVELL_PHY is not set | ||
| 700 | # CONFIG_DAVICOM_PHY is not set | ||
| 701 | # CONFIG_QSEMI_PHY is not set | ||
| 702 | # CONFIG_LXT_PHY is not set | ||
| 703 | # CONFIG_CICADA_PHY is not set | ||
| 704 | # CONFIG_VITESSE_PHY is not set | ||
| 705 | # CONFIG_SMSC_PHY is not set | ||
| 706 | # CONFIG_BROADCOM_PHY is not set | ||
| 707 | # CONFIG_ICPLUS_PHY is not set | ||
| 708 | # CONFIG_REALTEK_PHY is not set | ||
| 709 | # CONFIG_NATIONAL_PHY is not set | ||
| 710 | # CONFIG_STE10XP is not set | ||
| 711 | # CONFIG_LSI_ET1011C_PHY is not set | ||
| 712 | # CONFIG_FIXED_PHY is not set | ||
| 713 | # CONFIG_MDIO_BITBANG is not set | ||
| 714 | CONFIG_NET_ETHERNET=y | ||
| 715 | CONFIG_MII=y | ||
| 716 | # CONFIG_AX88796 is not set | ||
| 717 | # CONFIG_SMC91X is not set | ||
| 718 | # CONFIG_DM9000 is not set | ||
| 719 | # CONFIG_ENC28J60 is not set | ||
| 720 | # CONFIG_ETHOC is not set | ||
| 721 | # CONFIG_SMC911X is not set | ||
| 722 | CONFIG_SMSC911X=y | ||
| 723 | # CONFIG_DNET is not set | ||
| 724 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
| 725 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
| 726 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
| 727 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
| 728 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
| 729 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
| 730 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
| 731 | # CONFIG_B44 is not set | ||
| 732 | # CONFIG_KS8842 is not set | ||
| 733 | # CONFIG_KS8851 is not set | ||
| 734 | # CONFIG_KS8851_MLL is not set | ||
| 735 | # CONFIG_NETDEV_1000 is not set | ||
| 736 | # CONFIG_NETDEV_10000 is not set | ||
| 737 | CONFIG_WLAN=y | ||
| 738 | # CONFIG_WLAN_PRE80211 is not set | ||
| 739 | CONFIG_WLAN_80211=y | ||
| 740 | CONFIG_LIBERTAS=y | ||
| 741 | # CONFIG_LIBERTAS_USB is not set | ||
| 742 | CONFIG_LIBERTAS_SDIO=m | ||
| 743 | # CONFIG_LIBERTAS_SPI is not set | ||
| 744 | # CONFIG_LIBERTAS_DEBUG is not set | ||
| 745 | # CONFIG_LIBERTAS_THINFIRM is not set | ||
| 746 | # CONFIG_AT76C50X_USB is not set | ||
| 747 | # CONFIG_USB_ZD1201 is not set | ||
| 748 | # CONFIG_USB_NET_RNDIS_WLAN is not set | ||
| 749 | # CONFIG_RTL8187 is not set | ||
| 750 | # CONFIG_MAC80211_HWSIM is not set | ||
| 751 | # CONFIG_P54_COMMON is not set | ||
| 752 | # CONFIG_ATH_COMMON is not set | ||
| 753 | # CONFIG_HOSTAP is not set | ||
| 754 | # CONFIG_B43 is not set | ||
| 755 | # CONFIG_B43LEGACY is not set | ||
| 756 | # CONFIG_ZD1211RW is not set | ||
| 757 | # CONFIG_RT2X00 is not set | ||
| 758 | # CONFIG_WL12XX is not set | ||
| 759 | # CONFIG_IWM is not set | ||
| 760 | |||
| 761 | # | ||
| 762 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
| 763 | # | ||
| 764 | |||
| 765 | # | ||
| 766 | # USB Network Adapters | ||
| 767 | # | ||
| 768 | # CONFIG_USB_CATC is not set | ||
| 769 | # CONFIG_USB_KAWETH is not set | ||
| 770 | # CONFIG_USB_PEGASUS is not set | ||
| 771 | # CONFIG_USB_RTL8150 is not set | ||
| 772 | CONFIG_USB_USBNET=y | ||
| 773 | # CONFIG_USB_NET_AX8817X is not set | ||
| 774 | CONFIG_USB_NET_CDCETHER=y | ||
| 775 | # CONFIG_USB_NET_CDC_EEM is not set | ||
| 776 | # CONFIG_USB_NET_DM9601 is not set | ||
| 777 | # CONFIG_USB_NET_SMSC95XX is not set | ||
| 778 | # CONFIG_USB_NET_GL620A is not set | ||
| 779 | # CONFIG_USB_NET_NET1080 is not set | ||
| 780 | # CONFIG_USB_NET_PLUSB is not set | ||
| 781 | CONFIG_USB_NET_MCS7830=y | ||
| 782 | # CONFIG_USB_NET_RNDIS_HOST is not set | ||
| 783 | # CONFIG_USB_NET_CDC_SUBSET is not set | ||
| 784 | # CONFIG_USB_NET_ZAURUS is not set | ||
| 785 | # CONFIG_USB_NET_INT51X1 is not set | ||
| 786 | # CONFIG_WAN is not set | ||
| 787 | # CONFIG_PPP is not set | ||
| 788 | # CONFIG_SLIP is not set | ||
| 789 | # CONFIG_NETCONSOLE is not set | ||
| 790 | # CONFIG_NETPOLL is not set | ||
| 791 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
| 792 | # CONFIG_ISDN is not set | ||
| 793 | # CONFIG_PHONE is not set | ||
| 794 | |||
| 795 | # | ||
| 796 | # Input device support | ||
| 797 | # | ||
| 798 | CONFIG_INPUT=y | ||
| 799 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
| 800 | CONFIG_INPUT_POLLDEV=y | ||
| 801 | |||
| 802 | # | ||
| 803 | # Userland interfaces | ||
| 804 | # | ||
| 805 | CONFIG_INPUT_MOUSEDEV=y | ||
| 806 | CONFIG_INPUT_MOUSEDEV_PSAUX=y | ||
| 807 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
| 808 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
| 809 | # CONFIG_INPUT_JOYDEV is not set | ||
| 810 | CONFIG_INPUT_EVDEV=y | ||
| 811 | # CONFIG_INPUT_EVBUG is not set | ||
| 812 | |||
| 813 | # | ||
| 814 | # Input Device Drivers | ||
| 815 | # | ||
| 816 | CONFIG_INPUT_KEYBOARD=y | ||
| 817 | # CONFIG_KEYBOARD_ADP5588 is not set | ||
| 818 | CONFIG_KEYBOARD_ATKBD=y | ||
| 819 | # CONFIG_QT2160 is not set | ||
| 820 | # CONFIG_KEYBOARD_LKKBD is not set | ||
| 821 | CONFIG_KEYBOARD_GPIO=y | ||
| 822 | # CONFIG_KEYBOARD_MATRIX is not set | ||
| 823 | # CONFIG_KEYBOARD_LM8323 is not set | ||
| 824 | # CONFIG_KEYBOARD_MAX7359 is not set | ||
1074 more lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 901 lines aren’t shown here.
This diff is large: its 970 lines aren’t shown here.
This diff is large: its 884 lines aren’t shown here.
This diff is large: its 895 lines aren’t shown here.
This diff is large: its 895 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 62 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 79 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 136 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 85 lines aren’t shown here.
This diff is large: its 119 lines aren’t shown here.
This diff is large: its 97 lines aren’t shown here.
This diff is large: its 96 lines aren’t shown here.
This diff is large: its 60 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 124 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 123 lines aren’t shown here.
This diff is large: its 241 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 61 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 155 lines aren’t shown here.
File renamed without changes.
This diff is large: its 81 lines aren’t shown here.
This diff is large: its 124 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 156 lines aren’t shown here.
This diff is large: its 97 lines aren’t shown here.
This diff is large: its 348 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 253 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 259 lines aren’t shown here.
This diff is large: its 770 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 65 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 235 lines aren’t shown here.
This diff is large: its 99 lines aren’t shown here.
This diff is large: its 84 lines aren’t shown here.
This diff is large: its 91 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 102 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 66 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 103 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 78 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 105 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 98 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 245 lines aren’t shown here.
File renamed without changes.
This diff is large: its 215 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 69 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 78 lines aren’t shown here.
This diff is large: its 163 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 4 lines aren’t shown here.
This diff is large: its 99 lines aren’t shown here.
This diff is large: its 826 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 584 lines aren’t shown here.
This diff is large: its 97 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 90 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 129 lines aren’t shown here.
This diff is large: its 112 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
File mode changed from 100755 to 100644.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 70 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 94 lines aren’t shown here.
This diff is large: its 67 lines aren’t shown here.
This diff is large: its 277 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 120 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 159 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 105 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 203 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 175 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 71 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 62 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 475 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 1107 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 140 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 174 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 54 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 101 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 105 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
File renamed without changes.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
File renamed without changes.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
File renamed without changes.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 1062 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 71 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 69 lines aren’t shown here.
This diff is large: its 125 lines aren’t shown here.
This diff is large: its 75 lines aren’t shown here.
File renamed without changes.
This diff is large: its 810 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
File renamed without changes.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 336 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 183 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 199 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 89 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
File renamed without changes.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 63 lines aren’t shown here.
This diff is large: its 53 lines aren’t shown here.
File renamed without changes.
File renamed without changes.
This diff is large: its 15 lines aren’t shown here.
File renamed without changes.
This diff is large: its 94 lines aren’t shown here.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This diff is large: its 60 lines aren’t shown here.
File renamed without changes.
File renamed without changes.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
File renamed without changes.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
File renamed without changes.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 70 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 467 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
File renamed without changes.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
File renamed without changes.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 3 lines aren’t shown here.
This diff is large: its 699 lines aren’t shown here.
This diff is large: its 115 lines aren’t shown here.
This diff is large: its 323 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 81 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 112 lines aren’t shown here.
This diff is large: its 69 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 63 lines aren’t shown here.
This diff is large: its 131 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 53 lines aren’t shown here.
This diff is large: its 112 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 3 lines aren’t shown here.
This diff is large: its 397 lines aren’t shown here.
This diff is large: its 122 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 124 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 87 lines aren’t shown here.
This diff is large: its 59 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 70 lines aren’t shown here.
This diff is large: its 104 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 92 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 3 lines aren’t shown here.
This diff is large: its 455 lines aren’t shown here.
This diff is large: its 127 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 130 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 147 lines aren’t shown here.
This diff is large: its 66 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 70 lines aren’t shown here.
This diff is large: its 170 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 99 lines aren’t shown here.
This diff is large: its 99 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 109 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 85 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 334 lines aren’t shown here.
This diff is large: its 334 lines aren’t shown here.
This diff is large: its 269 lines aren’t shown here.
This diff is large: its 104 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 2 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 333 lines aren’t shown here.
This diff is large: its 435 lines aren’t shown here.
This diff is large: its 361 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 271 lines aren’t shown here.
This diff is large: its 370 lines aren’t shown here.
This diff is large: its 353 lines aren’t shown here.
This diff is large: its 1802 lines aren’t shown here.
This diff is large: its 1638 lines aren’t shown here.
This diff is large: its 1768 lines aren’t shown here.
This diff is large: its 199 lines aren’t shown here.
This diff is large: its 200 lines aren’t shown here.
This diff is large: its 216 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 84 lines aren’t shown here.
This diff is large: its 254 lines aren’t shown here.
This diff is large: its 71 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 92 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 411 lines aren’t shown here.
This diff is large: its 176 lines aren’t shown here.
This diff is large: its 54 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 66 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 318 lines aren’t shown here.
This diff is large: its 230 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 393 lines aren’t shown here.
This diff is large: its 447 lines aren’t shown here.
This diff is large: its 132 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 327 lines aren’t shown here.
This diff is large: its 104 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 139 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 69 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 421 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 63 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 455 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 71 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 158 lines aren’t shown here.
This diff is large: its 239 lines aren’t shown here.
This diff is large: its 120 lines aren’t shown here.
This diff is large: its 173 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 216 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 98 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 90 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 72 lines aren’t shown here.
This diff is large: its 301 lines aren’t shown here.
This diff is large: its 168 lines aren’t shown here.
This diff is large: its 257 lines aren’t shown here.
This diff is large: its 759 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 150 lines aren’t shown here.
This diff is large: its 114 lines aren’t shown here.
This diff is large: its 140 lines aren’t shown here.
This diff is large: its 91 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 84 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 73 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 65 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 145 lines aren’t shown here.
This diff is large: its 232 lines aren’t shown here.
This diff is large: its 1068 lines aren’t shown here.
This diff is large: its 241 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 135 lines aren’t shown here.
This diff is large: its 213 lines aren’t shown here.
This diff is large: its 179 lines aren’t shown here.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 200 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 84 lines aren’t shown here.
This diff is large: its 67 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
File renamed without changes.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
File renamed without changes.
This diff is large: its 51 lines aren’t shown here.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
File renamed without changes.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
File renamed without changes.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This diff is large: its 43 lines aren’t shown here.
File renamed without changes.
This diff is large: its 9 lines aren’t shown here.
File renamed without changes.
File renamed without changes.
This diff is large: its 68 lines aren’t shown here.
This diff is large: its 108 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
File renamed without changes.
File renamed without changes.
This diff is large: its 144 lines aren’t shown here.
This diff is large: its 87 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 182 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 93 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 75 lines aren’t shown here.
This diff is large: its 185 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 752 lines aren’t shown here.
This diff is large: its 954 lines aren’t shown here.
This diff is large: its 1812 lines aren’t shown here.
This diff is large: its 985 lines aren’t shown here.
This diff is large: its 699 lines aren’t shown here.
This diff is large: its 826 lines aren’t shown here.
This diff is large: its 898 lines aren’t shown here.
This diff is large: its 796 lines aren’t shown here.
This diff is large: its 412 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 295 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 836 lines aren’t shown here.
This diff is large: its 1376 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 726 lines aren’t shown here.
This diff is large: its 258 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 98 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 84 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 84 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 58 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 97 lines aren’t shown here.
This diff is large: its 66 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 58 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 131 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 300 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 458 lines aren’t shown here.
This diff is large: its 90 lines aren’t shown here.
This diff is large: its 64 lines aren’t shown here.
This diff is large: its 301 lines aren’t shown here.
This diff is large: its 86 lines aren’t shown here.
This diff is large: its 138 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 241 lines aren’t shown here.
This diff is large: its 754 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 344 lines aren’t shown here.
This diff is large: its 277 lines aren’t shown here.
This diff is large: its 608 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 106 lines aren’t shown here.
This diff is large: its 187 lines aren’t shown here.
This diff is large: its 205 lines aren’t shown here.
This diff is large: its 156 lines aren’t shown here.
This diff is large: its 96 lines aren’t shown here.
This diff is large: its 258 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 200 lines aren’t shown here.
This diff is large: its 259 lines aren’t shown here.
This diff is large: its 241 lines aren’t shown here.
This diff is large: its 235 lines aren’t shown here.
This diff is large: its 944 lines aren’t shown here.
This diff is large: its 259 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 411 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 456 lines aren’t shown here.
This diff is large: its 528 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 106 lines aren’t shown here.
This diff is large: its 110 lines aren’t shown here.
This diff is large: its 86 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 82 lines aren’t shown here.
This diff is large: its 90 lines aren’t shown here.
This diff is large: its 219 lines aren’t shown here.
This diff is large: its 216 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 84 lines aren’t shown here.
This diff is large: its 303 lines aren’t shown here.
This diff is large: its 176 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 153 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 58 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 130 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 107 lines aren’t shown here.
This diff is large: its 78 lines aren’t shown here.
This diff is large: its 68 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 93 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 125 lines aren’t shown here.
This diff is large: its 145 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 81 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 160 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 111 lines aren’t shown here.
This diff is large: its 99 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 138 lines aren’t shown here.
This diff is large: its 102 lines aren’t shown here.
This diff is large: its 143 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 130 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 155 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 197 lines aren’t shown here.
This diff is large: its 179 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 97 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 437 lines aren’t shown here.
This diff is large: its 157 lines aren’t shown here.
This diff is large: its 283 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 79 lines aren’t shown here.
This diff is large: its 66 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 247 lines aren’t shown here.
This diff is large: its 80 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 164 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 1643 lines aren’t shown here.
This diff is large: its 431 lines aren’t shown here.
This diff is large: its 169 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 144 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 128 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 110 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 125 lines aren’t shown here.
This diff is large: its 143 lines aren’t shown here.
This diff is large: its 122 lines aren’t shown here.
This diff is large: its 135 lines aren’t shown here.
This diff is large: its 146 lines aren’t shown here.
This diff is large: its 368 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 103 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 122 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 111 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 58 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 130 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 121 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 655 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 54 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 58 lines aren’t shown here.
This diff is large: its 178 lines aren’t shown here.
This diff is large: its 67 lines aren’t shown here.
This diff is large: its 54 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 579 lines aren’t shown here.
This diff is large: its 212 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 449 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 158 lines aren’t shown here.
This diff is large: its 230 lines aren’t shown here.
This diff is large: its 193 lines aren’t shown here.
This diff is large: its 229 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 165 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 321 lines aren’t shown here.
This diff is large: its 83 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 131 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 68 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 60 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 73 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 79 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 167 lines aren’t shown here.
This diff is large: its 54 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 107 lines aren’t shown here.
This diff is large: its 94 lines aren’t shown here.
This diff is large: its 76 lines aren’t shown here.
This diff is large: its 58 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 113 lines aren’t shown here.
This diff is large: its 115 lines aren’t shown here.
This diff is large: its 60 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 223 lines aren’t shown here.
This diff is large: its 208 lines aren’t shown here.
This diff is large: its 159 lines aren’t shown here.
This diff is large: its 161 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 126 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 111 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 545 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 194 lines aren’t shown here.
This diff is large: its 173 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 67 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 76 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 120 lines aren’t shown here.
This diff is large: its 145 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 4 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 95 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 84 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 151 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 74 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 105 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 71 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 187 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 169 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 154 lines aren’t shown here.
This diff is large: its 71 lines aren’t shown here.
This diff is large: its 785 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 262 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 621 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 58 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 511 lines aren’t shown here.
This diff is large: its 108 lines aren’t shown here.
This diff is large: its 261 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 124 lines aren’t shown here.
This diff is large: its 61 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 750 lines aren’t shown here.
This diff is large: its 230 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 192 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 70 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 841 lines aren’t shown here.
This diff is large: its 79 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 142 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 390 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 484 lines aren’t shown here.
This diff is large: its 84 lines aren’t shown here.
This diff is large: its 861 lines aren’t shown here.
This diff is large: its 2026 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 62 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 72 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 64 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 54 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 263 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 70 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 78 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 60 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 211 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 1245 lines aren’t shown here.
This diff is large: its 979 lines aren’t shown here.
This diff is large: its 210 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 59 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 61 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 110 lines aren’t shown here.
This diff is large: its 145 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 107 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 69 lines aren’t shown here.
This diff is large: its 83 lines aren’t shown here.
This diff is large: its 53 lines aren’t shown here.
This diff is large: its 139 lines aren’t shown here.
This diff is large: its 175 lines aren’t shown here.
This diff is large: its 113 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 110 lines aren’t shown here.
This diff is large: its 130 lines aren’t shown here.
This diff is large: its 250 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 234 lines aren’t shown here.
This diff is large: its 134 lines aren’t shown here.
This diff is large: its 54 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 2837 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 776 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 276 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 117 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 53 lines aren’t shown here.
This diff is large: its 128 lines aren’t shown here.
This diff is large: its 441 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 113 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 72 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 406 lines aren’t shown here.
This diff is large: its 81 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 1812 lines aren’t shown here.
This diff is large: its 78 lines aren’t shown here.
This diff is large: its 132 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 173 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 118 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 801 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 787 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 159 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 206 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 470 lines aren’t shown here.
This diff is large: its 158 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 103 lines aren’t shown here.
This diff is large: its 97 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 87 lines aren’t shown here.
This diff is large: its 232 lines aren’t shown here.
This diff is large: its 95 lines aren’t shown here.
This diff is large: its 358 lines aren’t shown here.
This diff is large: its 249 lines aren’t shown here.
This diff is large: its 311 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 296 lines aren’t shown here.
This diff is large: its 87 lines aren’t shown here.
This diff is large: its 92 lines aren’t shown here.
This diff is large: its 182 lines aren’t shown here.
This diff is large: its 205 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 185 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 103 lines aren’t shown here.
This diff is large: its 75 lines aren’t shown here.
This diff is large: its 139 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 302 lines aren’t shown here.
This diff is large: its 487 lines aren’t shown here.
This diff is large: its 76 lines aren’t shown here.
This diff is large: its 149 lines aren’t shown here.
This diff is large: its 728 lines aren’t shown here.
This diff is large: its 248 lines aren’t shown here.
This diff is large: its 453 lines aren’t shown here.
This diff is large: its 267 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 59 lines aren’t shown here.
This diff is large: its 552 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 205 lines aren’t shown here.
This diff is large: its 114 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 208 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 956 lines aren’t shown here.
This diff is large: its 175 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 106 lines aren’t shown here.
This diff is large: its 311 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 127 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 142 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 745 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 82 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 67 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 99 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 113 lines aren’t shown here.
This diff is large: its 2368 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 8599 lines aren’t shown here.
This diff is large: its 658 lines aren’t shown here.
This diff is large: its 119 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 768 lines aren’t shown here.
This diff is large: its 177 lines aren’t shown here.
This diff is large: its 299 lines aren’t shown here.
This diff is large: its 60 lines aren’t shown here.
This diff is large: its 280 lines aren’t shown here.
This diff is large: its 657 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 84 lines aren’t shown here.
This diff is large: its 109 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 288 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 398 lines aren’t shown here.
This diff is large: its 961 lines aren’t shown here.
This diff is large: its 480 lines aren’t shown here.
This diff is large: its 364 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 293 lines aren’t shown here.
This diff is large: its 500 lines aren’t shown here.
This diff is large: its 258 lines aren’t shown here.
This diff is large: its 91 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 444 lines aren’t shown here.
This diff is large: its 75 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 99 lines aren’t shown here.
This diff is large: its 347 lines aren’t shown here.
This diff is large: its 430 lines aren’t shown here.
This diff is large: its 53 lines aren’t shown here.
This diff is large: its 81 lines aren’t shown here.
This diff is large: its 549 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 70 lines aren’t shown here.
This diff is large: its 93 lines aren’t shown here.
This diff is large: its 835 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 62 lines aren’t shown here.
This diff is large: its 153 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 439 lines aren’t shown here.
This diff is large: its 69 lines aren’t shown here.
This diff is large: its 104 lines aren’t shown here.
This diff is large: its 545 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 838 lines aren’t shown here.
This diff is large: its 80 lines aren’t shown here.
This diff is large: its 98 lines aren’t shown here.
This diff is large: its 73 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 407 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 67 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 3 lines aren’t shown here.
This diff is large: its 451 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 61 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 81 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 367 lines aren’t shown here.
This diff is large: its 1181 lines aren’t shown here.
This diff is large: its 1256 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 64 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 1392 lines aren’t shown here.
This diff is large: its 184 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 79 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 570 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 136 lines aren’t shown here.
This diff is large: its 322 lines aren’t shown here.
This diff is large: its 960 lines aren’t shown here.
This diff is large: its 86 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 92 lines aren’t shown here.
This diff is large: its 826 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 243 lines aren’t shown here.
This diff is large: its 66 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 203 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 60 lines aren’t shown here.
This diff is large: its 212 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 127 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 76 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 94 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 92 lines aren’t shown here.
This diff is large: its 77 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 80 lines aren’t shown here.
This diff is large: its 134 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 69 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 61 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 193 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 54 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 58 lines aren’t shown here.
This diff is large: its 67 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 100 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 64 lines aren’t shown here.
This diff is large: its 156 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 298 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 67 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 77 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 249 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 237 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 62 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 97 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 121 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 54 lines aren’t shown here.
This diff is large: its 54 lines aren’t shown here.
This diff is large: its 54 lines aren’t shown here.
This diff is large: its 54 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 318 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 201 lines aren’t shown here.
This diff is large: its 95 lines aren’t shown here.
This diff is large: its 326 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 74 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 234 lines aren’t shown here.
This diff is large: its 97 lines aren’t shown here.
This diff is large: its 85 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 69 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 303 lines aren’t shown here.
This diff is large: its 741 lines aren’t shown here.
This diff is large: its 237 lines aren’t shown here.
This diff is large: its 153 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 105 lines aren’t shown here.
This diff is large: its 48 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 711 lines aren’t shown here.
This diff is large: its 134 lines aren’t shown here.
This diff is large: its 657 lines aren’t shown here.
This diff is large: its 212 lines aren’t shown here.
This diff is large: its 130 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 91 lines aren’t shown here.
This diff is large: its 66 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 113 lines aren’t shown here.
This diff is large: its 76 lines aren’t shown here.
This diff is large: its 246 lines aren’t shown here.
This diff is large: its 538 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 576 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 120 lines aren’t shown here.
This diff is large: its 67 lines aren’t shown here.
This diff is large: its 75 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 50 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 374 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 76 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 263 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 66 lines aren’t shown here.
This diff is large: its 147 lines aren’t shown here.
This diff is large: its 61 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
File mode changed from 100755 to 100644.
This diff is large: its 9 lines aren’t shown here.
File mode changed from 100755 to 100644.
Empty file deleted.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 285 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 280 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 65 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 71 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 66 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 62 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 148 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 207 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 97 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 94 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 65 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 135 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 99 lines aren’t shown here.
This diff is large: its 158 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 62 lines aren’t shown here.
This diff is large: its 160 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 92 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 73 lines aren’t shown here.
This diff is large: its 216 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 146 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 105 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 65 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 1289 lines aren’t shown here.
This diff is large: its 422 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 201 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 76 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 53 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 58 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 269 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 64 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 93 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 584 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 230 lines aren’t shown here.
This diff is large: its 133 lines aren’t shown here.
This diff is large: its 189 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 2190 lines aren’t shown here.
This diff is large: its 154 lines aren’t shown here.
This diff is large: its 92 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 25 lines aren’t shown here.
This diff is large: its 92 lines aren’t shown here.
This diff is large: its 254 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 73 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 58 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 37 lines aren’t shown here.
This diff is large: its 193 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 46 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 63 lines aren’t shown here.
This diff is large: its 491 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 125 lines aren’t shown here.
This diff is large: its 202 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 79 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 149 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 353 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 535 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 7 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 124 lines aren’t shown here.
This diff is large: its 155 lines aren’t shown here.
This diff is large: its 444 lines aren’t shown here.
This diff is large: its 83 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 158 lines aren’t shown here.
This diff is large: its 67 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 103 lines aren’t shown here.
This diff is large: its 174 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 410 lines aren’t shown here.
This diff is large: its 51 lines aren’t shown here.
This diff is large: its 309 lines aren’t shown here.
This diff is large: its 526 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 83 lines aren’t shown here.
This diff is large: its 79 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 150 lines aren’t shown here.
This diff is large: its 68 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 69 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 308 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 83 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 117 lines aren’t shown here.
This diff is large: its 315 lines aren’t shown here.
This diff is large: its 343 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 57 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 85 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 52 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 130 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 13 lines aren’t shown here.
This diff is large: its 212 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 314 lines aren’t shown here.
This diff is large: its 39 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 2559 lines aren’t shown here.
This diff is large: its 109 lines aren’t shown here.
This diff is large: its 157 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 181 lines aren’t shown here.
This diff is large: its 1078 lines aren’t shown here.
This diff is large: its 127 lines aren’t shown here.
This diff is large: its 275 lines aren’t shown here.
This diff is large: its 424 lines aren’t shown here.
This diff is large: its 80 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 99 lines aren’t shown here.
This diff is large: its 135 lines aren’t shown here.
This diff is large: its 264 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 89 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 117 lines aren’t shown here.
This diff is large: its 69 lines aren’t shown here.
This diff is large: its 63 lines aren’t shown here.
This diff is large: its 355 lines aren’t shown here.
This diff is large: its 184 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 88 lines aren’t shown here.
This diff is large: its 112 lines aren’t shown here.
This diff is large: its 26 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 159 lines aren’t shown here.
This diff is large: its 20 lines aren’t shown here.
This diff is large: its 125 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 194 lines aren’t shown here.
This diff is large: its 98 lines aren’t shown here.
This diff is large: its 43 lines aren’t shown here.
This diff is large: its 175 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 217 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 95 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 73 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 44 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 136 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 192 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 15 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 76 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 127 lines aren’t shown here.
This diff is large: its 162 lines aren’t shown here.
This diff is large: its 296 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 54 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 189 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 35 lines aren’t shown here.
This diff is large: its 521 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 55 lines aren’t shown here.
This diff is large: its 47 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 17 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 2819 lines aren’t shown here.
This diff is large: its 878 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 56 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 21 lines aren’t shown here.
This diff is large: its 383 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 28 lines aren’t shown here.
This diff is large: its 274 lines aren’t shown here.
This diff is large: its 753 lines aren’t shown here.
This diff is large: its 482 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 127 lines aren’t shown here.
This diff is large: its 582 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 77 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 14 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 45 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 30 lines aren’t shown here.
This diff is large: its 84 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 29 lines aren’t shown here.
This diff is large: its 18 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 155 lines aren’t shown here.
This diff is large: its 36 lines aren’t shown here.
This diff is large: its 32 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 806 lines aren’t shown here.
This diff is large: its 113 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 33 lines aren’t shown here.
This diff is large: its 98 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 49 lines aren’t shown here.
This diff is large: its 34 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 3 lines aren’t shown here.
This diff is large: its 16 lines aren’t shown here.
This diff is large: its 1183 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 301 lines aren’t shown here.
This diff is large: its 83 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 2 lines aren’t shown here.
This diff is large: its 5 lines aren’t shown here.
This diff is large: its 1101 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 6 lines aren’t shown here.
This diff is large: its 112 lines aren’t shown here.
This diff is large: its 31 lines aren’t shown here.
This diff is large: its 58 lines aren’t shown here.
This diff is large: its 38 lines aren’t shown here.
This diff is large: its 76 lines aren’t shown here.
This diff is large: its 200 lines aren’t shown here.
This diff is large: its 361 lines aren’t shown here.
This diff is large: its 10 lines aren’t shown here.
This diff is large: its 41 lines aren’t shown here.
This diff is large: its 12 lines aren’t shown here.
This diff is large: its 180 lines aren’t shown here.
This diff is large: its 140 lines aren’t shown here.
This diff is large: its 79 lines aren’t shown here.
This diff is large: its 253 lines aren’t shown here.
This diff is large: its 24 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 727 lines aren’t shown here.
This diff is large: its 22 lines aren’t shown here.
This diff is large: its 1625 lines aren’t shown here.
This diff is large: its 27 lines aren’t shown here.
This diff is large: its 370 lines aren’t shown here.
This diff is large: its 19 lines aren’t shown here.
This diff is large: its 211 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 240 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 40 lines aren’t shown here.
This diff is large: its 449 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 8 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 94 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 23 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 11 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 42 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is large: its 9 lines aren’t shown here.
This diff is larger than a page shows: the files after these aren’t listed. Clone the repository to see all of it.