aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/00-INDEX6
-rw-r--r--Documentation/HOWTO618
-rw-r--r--MAINTAINERS16
-rw-r--r--arch/ia64/kernel/ivt.S133
-rw-r--r--arch/powerpc/Kconfig13
-rw-r--r--arch/powerpc/Makefile9
-rw-r--r--arch/powerpc/boot/crt0.S23
-rw-r--r--arch/powerpc/configs/ppc64_defconfig (renamed from arch/ppc64/defconfig)346
-rw-r--r--arch/powerpc/configs/pseries_defconfig1
-rw-r--r--arch/powerpc/kernel/Makefile7
-rw-r--r--arch/powerpc/kernel/align.c (renamed from arch/ppc64/kernel/align.c)394
-rw-r--r--arch/powerpc/kernel/idle_64.c (renamed from arch/ppc64/kernel/idle.c)0
-rw-r--r--arch/powerpc/kernel/misc_32.S8
-rw-r--r--arch/powerpc/kernel/nvram_64.c (renamed from arch/ppc64/kernel/nvram.c)0
-rw-r--r--arch/powerpc/kernel/rtas-rtc.c6
-rw-r--r--arch/powerpc/kernel/time.c28
-rw-r--r--arch/powerpc/platforms/chrp/setup.c11
-rw-r--r--arch/powerpc/platforms/chrp/smp.c1
-rw-r--r--arch/powerpc/platforms/chrp/time.c3
-rw-r--r--arch/powerpc/platforms/maple/time.c11
-rw-r--r--arch/powerpc/platforms/pseries/eeh.c3
-rw-r--r--arch/powerpc/platforms/pseries/setup.c4
-rw-r--r--arch/ppc/kernel/Makefile4
-rw-r--r--arch/ppc/kernel/align.c410
-rw-r--r--arch/ppc/kernel/pci.c1
-rw-r--r--arch/ppc/platforms/85xx/mpc85xx_ads_common.h2
-rw-r--r--arch/ppc/platforms/85xx/stx_gp3.h2
-rw-r--r--arch/ppc/syslib/mpc83xx_sys.c28
-rw-r--r--arch/ppc64/Kconfig.debug65
-rw-r--r--arch/ppc64/Makefile142
-rw-r--r--arch/ppc64/configs/bpa_defconfig1024
-rw-r--r--arch/ppc64/configs/g5_defconfig1392
-rw-r--r--arch/ppc64/configs/iSeries_defconfig998
-rw-r--r--arch/ppc64/configs/maple_defconfig1062
-rw-r--r--arch/ppc64/configs/pSeries_defconfig1371
-rw-r--r--arch/ppc64/kernel/Makefile7
-rw-r--r--drivers/acpi/processor_idle.c14
-rw-r--r--drivers/char/ipmi/ipmi_si_intf.c2
-rw-r--r--drivers/char/tpm/Kconfig2
-rw-r--r--drivers/char/tpm/tpm.c2
-rw-r--r--drivers/char/tpm/tpm_atmel.c47
-rw-r--r--drivers/char/tpm/tpm_atmel.h22
-rw-r--r--drivers/md/bitmap.c4
-rw-r--r--drivers/md/md.c17
-rw-r--r--drivers/net/au1000_eth.c1
-rw-r--r--drivers/net/e100.c275
-rw-r--r--drivers/net/fec_8xx/Kconfig2
-rw-r--r--drivers/net/ioc3-eth.c2
-rw-r--r--drivers/net/r8169.c6
-rw-r--r--drivers/net/saa9730.h36
-rw-r--r--drivers/net/smc91x.c17
-rw-r--r--drivers/net/wan/hdlc_cisco.c6
-rw-r--r--drivers/net/wan/hdlc_fr.c4
-rw-r--r--drivers/net/wan/hdlc_generic.c6
-rw-r--r--drivers/net/wireless/hermes.c6
-rw-r--r--drivers/net/wireless/hermes.h6
-rw-r--r--drivers/net/wireless/i82593.h11
-rw-r--r--drivers/net/wireless/ipw2100.c29
-rw-r--r--drivers/net/wireless/ipw2100.h2
-rw-r--r--drivers/net/wireless/prism54/isl_38xx.c4
-rw-r--r--drivers/s390/char/raw3270.c4
-rw-r--r--drivers/scsi/sata_mv.c3
-rw-r--r--drivers/scsi/sata_sil24.c197
-rw-r--r--drivers/usb/host/ohci-ppc-soc.c2
-rw-r--r--drivers/video/offb.c41
-rw-r--r--fs/compat_ioctl.c36
-rw-r--r--include/asm-powerpc/cputable.h22
-rw-r--r--include/asm-powerpc/delay.h40
-rw-r--r--include/asm-powerpc/eeh.h4
-rw-r--r--include/asm-powerpc/page_64.h4
-rw-r--r--include/asm-powerpc/topology.h4
-rw-r--r--include/asm-ppc/cpm2.h2
-rw-r--r--include/net/ieee80211.h2
-rw-r--r--kernel/rcutorture.c30
-rw-r--r--mm/page-writeback.c1
-rw-r--r--net/ipv4/netfilter/ip_conntrack_ftp.c4
-rw-r--r--net/ipv4/netfilter/ip_conntrack_irc.c4
-rw-r--r--net/ipv4/netfilter/ip_conntrack_tftp.c4
-rw-r--r--net/ipv4/tcp_highspeed.c2
-rw-r--r--net/ipv6/route.c2
-rw-r--r--net/llc/llc_c_ac.c8
-rw-r--r--net/sched/Kconfig37
82 files changed, 2047 insertions, 7078 deletions
diff --git a/Documentation/00-INDEX b/Documentation/00-INDEX
index 433cf5e9ae04..5f7f7d7f77d2 100644
--- a/Documentation/00-INDEX
+++ b/Documentation/00-INDEX
@@ -24,6 +24,8 @@ DMA-mapping.txt
24 - info for PCI drivers using DMA portably across all platforms. 24 - info for PCI drivers using DMA portably across all platforms.
25DocBook/ 25DocBook/
26 - directory with DocBook templates etc. for kernel documentation. 26 - directory with DocBook templates etc. for kernel documentation.
27HOWTO
28 - The process and procedures of how to do Linux kernel development.
27IO-mapping.txt 29IO-mapping.txt
28 - how to access I/O mapped memory from within device drivers. 30 - how to access I/O mapped memory from within device drivers.
29IPMI.txt 31IPMI.txt
@@ -256,6 +258,10 @@ specialix.txt
256 - info on hardware/driver for specialix IO8+ multiport serial card. 258 - info on hardware/driver for specialix IO8+ multiport serial card.
257spinlocks.txt 259spinlocks.txt
258 - info on using spinlocks to provide exclusive access in kernel. 260 - info on using spinlocks to provide exclusive access in kernel.
261stable_api_nonsense.txt
262 - info on why the kernel does not have a stable in-kernel api or abi.
263stable_kernel_rules.txt
264 - rules and procedures for the -stable kernel releases.
259stallion.txt 265stallion.txt
260 - info on using the Stallion multiport serial driver. 266 - info on using the Stallion multiport serial driver.
261svga.txt 267svga.txt
diff --git a/Documentation/HOWTO b/Documentation/HOWTO
new file mode 100644
index 000000000000..6c9e746267da
--- /dev/null
+++ b/Documentation/HOWTO
@@ -0,0 +1,618 @@
1HOWTO do Linux kernel development
2---------------------------------
3
4This is the be-all, end-all document on this topic. It contains
5instructions on how to become a Linux kernel developer and how to learn
6to work with the Linux kernel development community. It tries to not
7contain anything related to the technical aspects of kernel programming,
8but will help point you in the right direction for that.
9
10If anything in this document becomes out of date, please send in patches
11to the maintainer of this file, who is listed at the bottom of the
12document.
13
14
15Introduction
16------------
17
18So, you want to learn how to become a Linux kernel developer? Or you
19have been told by your manager, "Go write a Linux driver for this
20device." This document's goal is to teach you everything you need to
21know to achieve this by describing the process you need to go through,
22and hints on how to work with the community. It will also try to
23explain some of the reasons why the community works like it does.
24
25The kernel is written mostly in C, with some architecture-dependent
26parts written in assembly. A good understanding of C is required for
27kernel development. Assembly (any architecture) is not required unless
28you plan to do low-level development for that architecture. Though they
29are not a good substitute for a solid C education and/or years of
30experience, the following books are good for, if anything, reference:
31 - "The C Programming Language" by Kernighan and Ritchie [Prentice Hall]
32 - "Practical C Programming" by Steve Oualline [O'Reilly]
33
34The kernel is written using GNU C and the GNU toolchain. While it
35adheres to the ISO C89 standard, it uses a number of extensions that are
36not featured in the standard. The kernel is a freestanding C
37environment, with no reliance on the standard C library, so some
38portions of the C standard are not supported. Arbitrary long long
39divisions and floating point are not allowed. It can sometimes be
40difficult to understand the assumptions the kernel has on the toolchain
41and the extensions that it uses, and unfortunately there is no
42definitive reference for them. Please check the gcc info pages (`info
43gcc`) for some information on them.
44
45Please remember that you are trying to learn how to work with the
46existing development community. It is a diverse group of people, with
47high standards for coding, style and procedure. These standards have
48been created over time based on what they have found to work best for
49such a large and geographically dispersed team. Try to learn as much as
50possible about these standards ahead of time, as they are well
51documented; do not expect people to adapt to you or your company's way
52of doing things.
53
54
55Legal Issues
56------------
57
58The Linux kernel source code is released under the GPL. Please see the
59file, COPYING, in the main directory of the source tree, for details on
60the license. If you have further questions about the license, please
61contact a lawyer, and do not ask on the Linux kernel mailing list. The
62people on the mailing lists are not lawyers, and you should not rely on
63their statements on legal matters.
64
65For common questions and answers about the GPL, please see:
66 http://www.gnu.org/licenses/gpl-faq.html
67
68
69Documentation
70------------
71
72The Linux kernel source tree has a large range of documents that are
73invaluable for learning how to interact with the kernel community. When
74new features are added to the kernel, it is recommended that new
75documentation files are also added which explain how to use the feature.
76When a kernel change causes the interface that the kernel exposes to
77userspace to change, it is recommended that you send the information or
78a patch to the manual pages explaining the change to the manual pages
79maintainer at mtk-manpages@gmx.net.
80
81Here is a list of files that are in the kernel source tree that are
82required reading:
83 README
84 This file gives a short background on the Linux kernel and describes
85 what is necessary to do to configure and build the kernel. People
86 who are new to the kernel should start here.
87
88 Documentation/Changes
89 This file gives a list of the minimum levels of various software
90 packages that are necessary to build and run the kernel
91 successfully.
92
93 Documentation/CodingStyle
94 This describes the Linux kernel coding style, and some of the
95 rationale behind it. All new code is expected to follow the
96 guidelines in this document. Most maintainers will only accept
97 patches if these rules are followed, and many people will only
98 review code if it is in the proper style.
99
100 Documentation/SubmittingPatches
101 Documentation/SubmittingDrivers
102 These files describe in explicit detail how to successfully create
103 and send a patch, including (but not limited to):
104 - Email contents
105 - Email format
106 - Who to send it to
107 Following these rules will not guarantee success (as all patches are
108 subject to scrutiny for content and style), but not following them
109 will almost always prevent it.
110
111 Other excellent descriptions of how to create patches properly are:
112 "The Perfect Patch"
113 http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt
114 "Linux kernel patch submission format"
115 http://linux.yyz.us/patch-format.html
116
117 Documentation/stable_api_nonsense.txt
118 This file describes the rationale behind the conscious decision to
119 not have a stable API within the kernel, including things like:
120 - Subsystem shim-layers (for compatibility?)
121 - Driver portability between Operating Systems.
122 - Mitigating rapid change within the kernel source tree (or
123 preventing rapid change)
124 This document is crucial for understanding the Linux development
125 philosophy and is very important for people moving to Linux from
126 development on other Operating Systems.
127
128 Documentation/SecurityBugs
129 If you feel you have found a security problem in the Linux kernel,
130 please follow the steps in this document to help notify the kernel
131 developers, and help solve the issue.
132
133 Documentation/ManagementStyle
134 This document describes how Linux kernel maintainers operate and the
135 shared ethos behind their methodologies. This is important reading
136 for anyone new to kernel development (or anyone simply curious about
137 it), as it resolves a lot of common misconceptions and confusion
138 about the unique behavior of kernel maintainers.
139
140 Documentation/stable_kernel_rules.txt
141 This file describes the rules on how the stable kernel releases
142 happen, and what to do if you want to get a change into one of these
143 releases.
144
145 Documentation/kernel-docs.txt
146 A list of external documentation that pertains to kernel
147 development. Please consult this list if you do not find what you
148 are looking for within the in-kernel documentation.
149
150 Documentation/applying-patches.txt
151 A good introduction describing exactly what a patch is and how to
152 apply it to the different development branches of the kernel.
153
154The kernel also has a large number of documents that can be
155automatically generated from the source code itself. This includes a
156full description of the in-kernel API, and rules on how to handle
157locking properly. The documents will be created in the
158Documentation/DocBook/ directory and can be generated as PDF,
159Postscript, HTML, and man pages by running:
160 make pdfdocs
161 make psdocs
162 make htmldocs
163 make mandocs
164respectively from the main kernel source directory.
165
166
167Becoming A Kernel Developer
168---------------------------
169
170If you do not know anything about Linux kernel development, you should
171look at the Linux KernelNewbies project:
172 http://kernelnewbies.org
173It consists of a helpful mailing list where you can ask almost any type
174of basic kernel development question (make sure to search the archives
175first, before asking something that has already been answered in the
176past.) It also has an IRC channel that you can use to ask questions in
177real-time, and a lot of helpful documentation that is useful for
178learning about Linux kernel development.
179
180The website has basic information about code organization, subsystems,
181and current projects (both in-tree and out-of-tree). It also describes
182some basic logistical information, like how to compile a kernel and
183apply a patch.
184
185If you do not know where you want to start, but you want to look for
186some task to start doing to join into the kernel development community,
187go to the Linux Kernel Janitor's project:
188 http://janitor.kernelnewbies.org/
189It is a great place to start. It describes a list of relatively simple
190problems that need to be cleaned up and fixed within the Linux kernel
191source tree. Working with the developers in charge of this project, you
192will learn the basics of getting your patch into the Linux kernel tree,
193and possibly be pointed in the direction of what to go work on next, if
194you do not already have an idea.
195
196If you already have a chunk of code that you want to put into the kernel
197tree, but need some help getting it in the proper form, the
198kernel-mentors project was created to help you out with this. It is a
199mailing list, and can be found at:
200 http://selenic.com/mailman/listinfo/kernel-mentors
201
202Before making any actual modifications to the Linux kernel code, it is
203imperative to understand how the code in question works. For this
204purpose, nothing is better than reading through it directly (most tricky
205bits are commented well), perhaps even with the help of specialized
206tools. One such tool that is particularly recommended is the Linux
207Cross-Reference project, which is able to present source code in a
208self-referential, indexed webpage format. An excellent up-to-date
209repository of the kernel code may be found at:
210 http://sosdg.org/~coywolf/lxr/
211
212
213The development process
214-----------------------
215
216Linux kernel development process currently consists of a few different
217main kernel "branches" and lots of different subsystem-specific kernel
218branches. These different branches are:
219 - main 2.6.x kernel tree
220 - 2.6.x.y -stable kernel tree
221 - 2.6.x -git kernel patches
222 - 2.6.x -mm kernel patches
223 - subsystem specific kernel trees and patches
224
2252.6.x kernel tree
226-----------------
2272.6.x kernels are maintained by Linus Torvalds, and can be found on
228kernel.org in the pub/linux/kernel/v2.6/ directory. Its development
229process is as follows:
230 - As soon as a new kernel is released a two weeks window is open,
231 during this period of time maintainers can submit big diffs to
232 Linus, usually the patches that have already been included in the
233 -mm kernel for a few weeks. The preferred way to submit big changes
234 is using git (the kernel's source management tool, more information
235 can be found at http://git.or.cz/) but plain patches are also just
236 fine.
237 - After two weeks a -rc1 kernel is released it is now possible to push
238 only patches that do not include new features that could affect the
239 stability of the whole kernel. Please note that a whole new driver
240 (or filesystem) might be accepted after -rc1 because there is no
241 risk of causing regressions with such a change as long as the change
242 is self-contained and does not affect areas outside of the code that
243 is being added. git can be used to send patches to Linus after -rc1
244 is released, but the patches need to also be sent to a public
245 mailing list for review.
246 - A new -rc is released whenever Linus deems the current git tree to
247 be in a reasonably sane state adequate for testing. The goal is to
248 release a new -rc kernel every week.
249 - Process continues until the kernel is considered "ready", the
250 process should last around 6 weeks.
251
252It is worth mentioning what Andrew Morton wrote on the linux-kernel
253mailing list about kernel releases:
254 "Nobody knows when a kernel will be released, because it's
255 released according to perceived bug status, not according to a
256 preconceived timeline."
257
2582.6.x.y -stable kernel tree
259---------------------------
260Kernels with 4 digit versions are -stable kernels. They contain
261relatively small and critical fixes for security problems or significant
262regressions discovered in a given 2.6.x kernel.
263
264This is the recommended branch for users who want the most recent stable
265kernel and are not interested in helping test development/experimental
266versions.
267
268If no 2.6.x.y kernel is available, then the highest numbered 2.6.x
269kernel is the current stable kernel.
270
2712.6.x.y are maintained by the "stable" team <stable@kernel.org>, and are
272released almost every other week.
273
274The file Documentation/stable_kernel_rules.txt in the kernel tree
275documents what kinds of changes are acceptable for the -stable tree, and
276how the release process works.
277
2782.6.x -git patches
279------------------
280These are daily snapshots of Linus' kernel tree which are managed in a
281git repository (hence the name.) These patches are usually released
282daily and represent the current state of Linus' tree. They are more
283experimental than -rc kernels since they are generated automatically
284without even a cursory glance to see if they are sane.
285
2862.6.x -mm kernel patches
287------------------------
288These are experimental kernel patches released by Andrew Morton. Andrew
289takes all of the different subsystem kernel trees and patches and mushes
290them together, along with a lot of patches that have been plucked from
291the linux-kernel mailing list. This tree serves as a proving ground for
292new features and patches. Once a patch has proved its worth in -mm for
293a while Andrew or the subsystem maintainer pushes it on to Linus for
294inclusion in mainline.
295
296It is heavily encouraged that all new patches get tested in the -mm tree
297before they are sent to Linus for inclusion in the main kernel tree.
298
299These kernels are not appropriate for use on systems that are supposed
300to be stable and they are more risky to run than any of the other
301branches.
302
303If you wish to help out with the kernel development process, please test
304and use these kernel releases and provide feedback to the linux-kernel
305mailing list if you have any problems, and if everything works properly.
306
307In addition to all the other experimental patches, these kernels usually
308also contain any changes in the mainline -git kernels available at the
309time of release.
310
311The -mm kernels are not released on a fixed schedule, but usually a few
312-mm kernels are released in between each -rc kernel (1 to 3 is common).
313
314Subsystem Specific kernel trees and patches
315-------------------------------------------
316A number of the different kernel subsystem developers expose their
317development trees so that others can see what is happening in the
318different areas of the kernel. These trees are pulled into the -mm
319kernel releases as described above.
320
321Here is a list of some of the different kernel trees available:
322 git trees:
323 - Kbuild development tree, Sam Ravnborg <sam@ravnborg.org>
324 kernel.org:/pub/scm/linux/kernel/git/sam/kbuild.git
325
326 - ACPI development tree, Len Brown <len.brown@intel.com>
327 kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git
328
329 - Block development tree, Jens Axboe <axboe@suse.de>
330 kernel.org:/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git
331
332 - DRM development tree, Dave Airlie <airlied@linux.ie>
333 kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6.git
334
335 - ia64 development tree, Tony Luck <tony.luck@intel.com>
336 kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6.git
337
338 - ieee1394 development tree, Jody McIntyre <scjody@modernduck.com>
339 kernel.org:/pub/scm/linux/kernel/git/scjody/ieee1394.git
340
341 - infiniband, Roland Dreier <rolandd@cisco.com>
342 kernel.org:/pub/scm/linux/kernel/git/roland/infiniband.git
343
344 - libata, Jeff Garzik <jgarzik@pobox.com>
345 kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev.git
346
347 - network drivers, Jeff Garzik <jgarzik@pobox.com>
348 kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git
349
350 - pcmcia, Dominik Brodowski <linux@dominikbrodowski.net>
351 kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6.git
352
353 - SCSI, James Bottomley <James.Bottomley@SteelEye.com>
354 kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git
355
356 Other git kernel trees can be found listed at http://kernel.org/git
357
358 quilt trees:
359 - USB, PCI, Driver Core, and I2C, Greg Kroah-Hartman <gregkh@suse.de>
360 kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/
361
362
363Bug Reporting
364-------------
365
366bugzilla.kernel.org is where the Linux kernel developers track kernel
367bugs. Users are encouraged to report all bugs that they find in this
368tool. For details on how to use the kernel bugzilla, please see:
369 http://test.kernel.org/bugzilla/faq.html
370
371The file REPORTING-BUGS in the main kernel source directory has a good
372template for how to report a possible kernel bug, and details what kind
373of information is needed by the kernel developers to help track down the
374problem.
375
376
377Mailing lists
378-------------
379
380As some of the above documents describe, the majority of the core kernel
381developers participate on the Linux Kernel Mailing list. Details on how
382to subscribe and unsubscribe from the list can be found at:
383 http://vger.kernel.org/vger-lists.html#linux-kernel
384There are archives of the mailing list on the web in many different
385places. Use a search engine to find these archives. For example:
386 http://dir.gmane.org/gmane.linux.kernel
387It is highly recommended that you search the archives about the topic
388you want to bring up, before you post it to the list. A lot of things
389already discussed in detail are only recorded at the mailing list
390archives.
391
392Most of the individual kernel subsystems also have their own separate
393mailing list where they do their development efforts. See the
394MAINTAINERS file for a list of what these lists are for the different
395groups.
396
397Many of the lists are hosted on kernel.org. Information on them can be
398found at:
399 http://vger.kernel.org/vger-lists.html
400
401Please remember to follow good behavioral habits when using the lists.
402Though a bit cheesy, the following URL has some simple guidelines for
403interacting with the list (or any list):
404 http://www.albion.com/netiquette/
405
406If multiple people respond to your mail, the CC: list of recipients may
407get pretty large. Don't remove anybody from the CC: list without a good
408reason, or don't reply only to the list address. Get used to receiving the
409mail twice, one from the sender and the one from the list, and don't try
410to tune that by adding fancy mail-headers, people will not like it.
411
412Remember to keep the context and the attribution of your replies intact,
413keep the "John Kernelhacker wrote ...:" lines at the top of your reply, and
414add your statements between the individual quoted sections instead of
415writing at the top of the mail.
416
417If you add patches to your mail, make sure they are plain readable text
418as stated in Documentation/SubmittingPatches. Kernel developers don't
419want to deal with attachments or compressed patches; they may want
420to comment on individual lines of your patch, which works only that way.
421Make sure you use a mail program that does not mangle spaces and tab
422characters. A good first test is to send the mail to yourself and try
423to apply your own patch by yourself. If that doesn't work, get your
424mail program fixed or change it until it works.
425
426Above all, please remember to show respect to other subscribers.
427
428
429Working with the community
430--------------------------
431
432The goal of the kernel community is to provide the best possible kernel
433there is. When you submit a patch for acceptance, it will be reviewed
434on its technical merits and those alone. So, what should you be
435expecting?
436 - criticism
437 - comments
438 - requests for change
439 - requests for justification
440 - silence
441
442Remember, this is part of getting your patch into the kernel. You have
443to be able to take criticism and comments about your patches, evaluate
444them at a technical level and either rework your patches or provide
445clear and concise reasoning as to why those changes should not be made.
446If there are no responses to your posting, wait a few days and try
447again, sometimes things get lost in the huge volume.
448
449What should you not do?
450 - expect your patch to be accepted without question
451 - become defensive
452 - ignore comments
453 - resubmit the patch without making any of the requested changes
454
455In a community that is looking for the best technical solution possible,
456there will always be differing opinions on how beneficial a patch is.
457You have to be cooperative, and willing to adapt your idea to fit within
458the kernel. Or at least be willing to prove your idea is worth it.
459Remember, being wrong is acceptable as long as you are willing to work
460toward a solution that is right.
461
462It is normal that the answers to your first patch might simply be a list
463of a dozen things you should correct. This does _not_ imply that your
464patch will not be accepted, and it is _not_ meant against you
465personally. Simply correct all issues raised against your patch and
466resend it.
467
468
469Differences between the kernel community and corporate structures
470-----------------------------------------------------------------
471
472The kernel community works differently than most traditional corporate
473development environments. Here are a list of things that you can try to
474do to try to avoid problems:
475 Good things to say regarding your proposed changes:
476 - "This solves multiple problems."
477 - "This deletes 2000 lines of code."
478 - "Here is a patch that explains what I am trying to describe."
479 - "I tested it on 5 different architectures..."
480 - "Here is a series of small patches that..."
481 - "This increases performance on typical machines..."
482
483 Bad things you should avoid saying:
484 - "We did it this way in AIX/ptx/Solaris, so therefore it must be
485 good..."
486 - "I've being doing this for 20 years, so..."
487 - "This is required for my company to make money"
488 - "This is for our Enterprise product line."
489 - "Here is my 1000 page design document that describes my idea"
490 - "I've been working on this for 6 months..."
491 - "Here's a 5000 line patch that..."
492 - "I rewrote all of the current mess, and here it is..."
493 - "I have a deadline, and this patch needs to be applied now."
494
495Another way the kernel community is different than most traditional
496software engineering work environments is the faceless nature of
497interaction. One benefit of using email and irc as the primary forms of
498communication is the lack of discrimination based on gender or race.
499The Linux kernel work environment is accepting of women and minorities
500because all you are is an email address. The international aspect also
501helps to level the playing field because you can't guess gender based on
502a person's name. A man may be named Andrea and a woman may be named Pat.
503Most women who have worked in the Linux kernel and have expressed an
504opinion have had positive experiences.
505
506The language barrier can cause problems for some people who are not
507comfortable with English. A good grasp of the language can be needed in
508order to get ideas across properly on mailing lists, so it is
509recommended that you check your emails to make sure they make sense in
510English before sending them.
511
512
513Break up your changes
514---------------------
515
516The Linux kernel community does not gladly accept large chunks of code
517dropped on it all at once. The changes need to be properly introduced,
518discussed, and broken up into tiny, individual portions. This is almost
519the exact opposite of what companies are used to doing. Your proposal
520should also be introduced very early in the development process, so that
521you can receive feedback on what you are doing. It also lets the
522community feel that you are working with them, and not simply using them
523as a dumping ground for your feature. However, don't send 50 emails at
524one time to a mailing list, your patch series should be smaller than
525that almost all of the time.
526
527The reasons for breaking things up are the following:
528
5291) Small patches increase the likelihood that your patches will be
530 applied, since they don't take much time or effort to verify for
531 correctness. A 5 line patch can be applied by a maintainer with
532 barely a second glance. However, a 500 line patch may take hours to
533 review for correctness (the time it takes is exponentially
534 proportional to the size of the patch, or something).
535
536 Small patches also make it very easy to debug when something goes
537 wrong. It's much easier to back out patches one by one than it is
538 to dissect a very large patch after it's been applied (and broken
539 something).
540
5412) It's important not only to send small patches, but also to rewrite
542 and simplify (or simply re-order) patches before submitting them.
543
544Here is an analogy from kernel developer Al Viro:
545 "Think of a teacher grading homework from a math student. The
546 teacher does not want to see the student's trials and errors
547 before they came up with the solution. They want to see the
548 cleanest, most elegant answer. A good student knows this, and
549 would never submit her intermediate work before the final
550 solution."
551
552 The same is true of kernel development. The maintainers and
553 reviewers do not want to see the thought process behind the
554 solution to the problem one is solving. They want to see a
555 simple and elegant solution."
556
557It may be challenging to keep the balance between presenting an elegant
558solution and working together with the community and discussing your
559unfinished work. Therefore it is good to get early in the process to
560get feedback to improve your work, but also keep your changes in small
561chunks that they may get already accepted, even when your whole task is
562not ready for inclusion now.
563
564Also realize that it is not acceptable to send patches for inclusion
565that are unfinished and will be "fixed up later."
566
567
568Justify your change
569-------------------
570
571Along with breaking up your patches, it is very important for you to let
572the Linux community know why they should add this change. New features
573must be justified as being needed and useful.
574
575
576Document your change
577--------------------
578
579When sending in your patches, pay special attention to what you say in
580the text in your email. This information will become the ChangeLog
581information for the patch, and will be preserved for everyone to see for
582all time. It should describe the patch completely, containing:
583 - why the change is necessary
584 - the overall design approach in the patch
585 - implementation details
586 - testing results
587
588For more details on what this should all look like, please see the
589ChangeLog section of the document:
590 "The Perfect Patch"
591 http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt
592
593
594
595
596All of these things are sometimes very hard to do. It can take years to
597perfect these practices (if at all). It's a continuous process of
598improvement that requires a lot of patience and determination. But
599don't give up, it's possible. Many have done it before, and each had to
600start exactly where you are now.
601
602
603
604
605----------
606Thanks to Paolo Ciarrocchi who allowed the "Development Process" section
607to be based on text he had written, and to Randy Dunlap and Gerrit
608Huizenga for some of the list of things you should and should not say.
609Also thanks to Pat Mochel, Hanna Linder, Randy Dunlap, Kay Sievers,
610Vojtech Pavlik, Jan Kara, Josh Boyer, Kees Cook, Andrew Morton, Andi
611Kleen, Vadim Lobanov, Jesper Juhl, Adrian Bunk, Keri Harris, Frans Pop,
612David A. Wheeler, Junio Hamano, Michael Kerrisk, and Alex Shepard for
613their review, comments, and contributions. Without their help, this
614document would not have been possible.
615
616
617
618Maintainer: Greg Kroah-Hartman <greg@kroah.com>
diff --git a/MAINTAINERS b/MAINTAINERS
index 509927e40bbb..f239ac4762dd 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -58,6 +58,7 @@ P: Person
58M: Mail patches to 58M: Mail patches to
59L: Mailing list that is relevant to this area 59L: Mailing list that is relevant to this area
60W: Web-page with status/info 60W: Web-page with status/info
61T: SCM tree type and URL. Type is one of: git, hg, quilt.
61S: Status, one of the following: 62S: Status, one of the following:
62 63
63 Supported: Someone is actually paid to look after this. 64 Supported: Someone is actually paid to look after this.
@@ -183,6 +184,7 @@ P: Len Brown
183M: len.brown@intel.com 184M: len.brown@intel.com
184L: acpi-devel@lists.sourceforge.net 185L: acpi-devel@lists.sourceforge.net
185W: http://acpi.sourceforge.net/ 186W: http://acpi.sourceforge.net/
187T: git kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git
186S: Maintained 188S: Maintained
187 189
188AD1816 SOUND DRIVER 190AD1816 SOUND DRIVER
@@ -418,6 +420,7 @@ BLOCK LAYER
418P: Jens Axboe 420P: Jens Axboe
419M: axboe@suse.de 421M: axboe@suse.de
420L: linux-kernel@vger.kernel.org 422L: linux-kernel@vger.kernel.org
423T: git kernel.org:/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git
421S: Maintained 424S: Maintained
422 425
423BLUETOOTH SUBSYSTEM 426BLUETOOTH SUBSYSTEM
@@ -803,12 +806,14 @@ DRIVER CORE, KOBJECTS, AND SYSFS
803P: Greg Kroah-Hartman 806P: Greg Kroah-Hartman
804M: gregkh@suse.de 807M: gregkh@suse.de
805L: linux-kernel@vger.kernel.org 808L: linux-kernel@vger.kernel.org
809T: quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/
806S: Supported 810S: Supported
807 811
808DRM DRIVERS 812DRM DRIVERS
809P: David Airlie 813P: David Airlie
810M: airlied@linux.ie 814M: airlied@linux.ie
811L: dri-devel@lists.sourceforge.net 815L: dri-devel@lists.sourceforge.net
816T: git kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6.git
812S: Maintained 817S: Maintained
813 818
814DSCC4 DRIVER 819DSCC4 DRIVER
@@ -1113,6 +1118,7 @@ P: Jean Delvare
1113M: khali@linux-fr.org 1118M: khali@linux-fr.org
1114L: lm-sensors@lm-sensors.org 1119L: lm-sensors@lm-sensors.org
1115W: http://www.lm-sensors.nu/ 1120W: http://www.lm-sensors.nu/
1121T: quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/
1116S: Maintained 1122S: Maintained
1117 1123
1118I2O 1124I2O
@@ -1145,6 +1151,7 @@ P: Tony Luck
1145M: tony.luck@intel.com 1151M: tony.luck@intel.com
1146L: linux-ia64@vger.kernel.org 1152L: linux-ia64@vger.kernel.org
1147W: http://www.ia64-linux.org/ 1153W: http://www.ia64-linux.org/
1154T: git kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6.git
1148S: Maintained 1155S: Maintained
1149 1156
1150SN-IA64 (Itanium) SUB-PLATFORM 1157SN-IA64 (Itanium) SUB-PLATFORM
@@ -1212,6 +1219,7 @@ P: Jody McIntyre
1212M: scjody@steamballoon.com 1219M: scjody@steamballoon.com
1213L: linux1394-devel@lists.sourceforge.net 1220L: linux1394-devel@lists.sourceforge.net
1214W: http://www.linux1394.org/ 1221W: http://www.linux1394.org/
1222T: git kernel.org:/pub/scm/linux/kernel/git/scjody/ieee1394.git
1215S: Maintained 1223S: Maintained
1216 1224
1217IEEE 1394 OHCI DRIVER 1225IEEE 1394 OHCI DRIVER
@@ -1263,6 +1271,7 @@ P: Hal Rosenstock
1263M: halr@voltaire.com 1271M: halr@voltaire.com
1264L: openib-general@openib.org 1272L: openib-general@openib.org
1265W: http://www.openib.org/ 1273W: http://www.openib.org/
1274T: git kernel.org:/pub/scm/linux/kernel/git/roland/infiniband.git
1266S: Supported 1275S: Supported
1267 1276
1268INPUT (KEYBOARD, MOUSE, JOYSTICK) DRIVERS 1277INPUT (KEYBOARD, MOUSE, JOYSTICK) DRIVERS
@@ -1436,6 +1445,7 @@ P: Kai Germaschewski
1436M: kai@germaschewski.name 1445M: kai@germaschewski.name
1437P: Sam Ravnborg 1446P: Sam Ravnborg
1438M: sam@ravnborg.org 1447M: sam@ravnborg.org
1448T: git kernel.org:/pub/scm/linux/kernel/git/sam/kbuild.git
1439S: Maintained 1449S: Maintained
1440 1450
1441KERNEL JANITORS 1451KERNEL JANITORS
@@ -1782,6 +1792,7 @@ M: akpm@osdl.org
1782P: Jeff Garzik 1792P: Jeff Garzik
1783M: jgarzik@pobox.com 1793M: jgarzik@pobox.com
1784L: netdev@vger.kernel.org 1794L: netdev@vger.kernel.org
1795T: git kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git
1785S: Maintained 1796S: Maintained
1786 1797
1787NETWORKING [GENERAL] 1798NETWORKING [GENERAL]
@@ -1959,6 +1970,7 @@ P: Greg Kroah-Hartman
1959M: gregkh@suse.de 1970M: gregkh@suse.de
1960L: linux-kernel@vger.kernel.org 1971L: linux-kernel@vger.kernel.org
1961L: linux-pci@atrey.karlin.mff.cuni.cz 1972L: linux-pci@atrey.karlin.mff.cuni.cz
1973T: quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/
1962S: Supported 1974S: Supported
1963 1975
1964PCI HOTPLUG CORE 1976PCI HOTPLUG CORE
@@ -1980,6 +1992,7 @@ S: Maintained
1980PCMCIA SUBSYSTEM 1992PCMCIA SUBSYSTEM
1981P: Linux PCMCIA Team 1993P: Linux PCMCIA Team
1982L: http://lists.infradead.org/mailman/listinfo/linux-pcmcia 1994L: http://lists.infradead.org/mailman/listinfo/linux-pcmcia
1995T: git kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6.git
1983S: Maintained 1996S: Maintained
1984 1997
1985PCNET32 NETWORK DRIVER 1998PCNET32 NETWORK DRIVER
@@ -2189,6 +2202,7 @@ SCSI SUBSYSTEM
2189P: James E.J. Bottomley 2202P: James E.J. Bottomley
2190M: James.Bottomley@SteelEye.com 2203M: James.Bottomley@SteelEye.com
2191L: linux-scsi@vger.kernel.org 2204L: linux-scsi@vger.kernel.org
2205T: git kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git
2192S: Maintained 2206S: Maintained
2193 2207
2194SCSI TAPE DRIVER 2208SCSI TAPE DRIVER
@@ -2228,6 +2242,7 @@ SERIAL ATA (SATA) SUBSYSTEM:
2228P: Jeff Garzik 2242P: Jeff Garzik
2229M: jgarzik@pobox.com 2243M: jgarzik@pobox.com
2230L: linux-ide@vger.kernel.org 2244L: linux-ide@vger.kernel.org
2245T: git kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev.git
2231S: Supported 2246S: Supported
2232 2247
2233SGI SN-IA64 (Altix) SERIAL CONSOLE DRIVER 2248SGI SN-IA64 (Altix) SERIAL CONSOLE DRIVER
@@ -2749,6 +2764,7 @@ M: gregkh@suse.de
2749L: linux-usb-users@lists.sourceforge.net 2764L: linux-usb-users@lists.sourceforge.net
2750L: linux-usb-devel@lists.sourceforge.net 2765L: linux-usb-devel@lists.sourceforge.net
2751W: http://www.linux-usb.org 2766W: http://www.linux-usb.org
2767T: quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/
2752S: Supported 2768S: Supported
2753 2769
2754USB UHCI DRIVER 2770USB UHCI DRIVER
diff --git a/arch/ia64/kernel/ivt.S b/arch/ia64/kernel/ivt.S
index e06f21f60dc5..301f2e9d262e 100644
--- a/arch/ia64/kernel/ivt.S
+++ b/arch/ia64/kernel/ivt.S
@@ -91,16 +91,17 @@ ENTRY(vhpt_miss)
91 * (the "original") TLB miss, which may either be caused by an instruction 91 * (the "original") TLB miss, which may either be caused by an instruction
92 * fetch or a data access (or non-access). 92 * fetch or a data access (or non-access).
93 * 93 *
94 * What we do here is normal TLB miss handing for the _original_ miss, followed 94 * What we do here is normal TLB miss handing for the _original_ miss,
95 * by inserting the TLB entry for the virtual page table page that the VHPT 95 * followed by inserting the TLB entry for the virtual page table page
96 * walker was attempting to access. The latter gets inserted as long 96 * that the VHPT walker was attempting to access. The latter gets
97 * as both L1 and L2 have valid mappings for the faulting address. 97 * inserted as long as page table entry above pte level have valid
98 * The TLB entry for the original miss gets inserted only if 98 * mappings for the faulting address. The TLB entry for the original
99 * the L3 entry indicates that the page is present. 99 * miss gets inserted only if the pte entry indicates that the page is
100 * present.
100 * 101 *
101 * do_page_fault gets invoked in the following cases: 102 * do_page_fault gets invoked in the following cases:
102 * - the faulting virtual address uses unimplemented address bits 103 * - the faulting virtual address uses unimplemented address bits
103 * - the faulting virtual address has no L1, L2, or L3 mapping 104 * - the faulting virtual address has no valid page table mapping
104 */ 105 */
105 mov r16=cr.ifa // get address that caused the TLB miss 106 mov r16=cr.ifa // get address that caused the TLB miss
106#ifdef CONFIG_HUGETLB_PAGE 107#ifdef CONFIG_HUGETLB_PAGE
@@ -126,7 +127,7 @@ ENTRY(vhpt_miss)
126#endif 127#endif
127 ;; 128 ;;
128 cmp.eq p6,p7=5,r17 // is IFA pointing into to region 5? 129 cmp.eq p6,p7=5,r17 // is IFA pointing into to region 5?
129 shr.u r18=r22,PGDIR_SHIFT // get bits 33-63 of the faulting address 130 shr.u r18=r22,PGDIR_SHIFT // get bottom portion of pgd index bit
130 ;; 131 ;;
131(p7) dep r17=r17,r19,(PAGE_SHIFT-3),3 // put region number bits in place 132(p7) dep r17=r17,r19,(PAGE_SHIFT-3),3 // put region number bits in place
132 133
@@ -137,38 +138,38 @@ ENTRY(vhpt_miss)
137(p6) shr.u r21=r21,PGDIR_SHIFT+PAGE_SHIFT 138(p6) shr.u r21=r21,PGDIR_SHIFT+PAGE_SHIFT
138(p7) shr.u r21=r21,PGDIR_SHIFT+PAGE_SHIFT-3 139(p7) shr.u r21=r21,PGDIR_SHIFT+PAGE_SHIFT-3
139 ;; 140 ;;
140(p6) dep r17=r18,r19,3,(PAGE_SHIFT-3) // r17=PTA + IFA(33,42)*8 141(p6) dep r17=r18,r19,3,(PAGE_SHIFT-3) // r17=pgd_offset for region 5
141(p7) dep r17=r18,r17,3,(PAGE_SHIFT-6) // r17=PTA + (((IFA(61,63) << 7) | IFA(33,39))*8) 142(p7) dep r17=r18,r17,3,(PAGE_SHIFT-6) // r17=pgd_offset for region[0-4]
142 cmp.eq p7,p6=0,r21 // unused address bits all zeroes? 143 cmp.eq p7,p6=0,r21 // unused address bits all zeroes?
143#ifdef CONFIG_PGTABLE_4 144#ifdef CONFIG_PGTABLE_4
144 shr.u r28=r22,PUD_SHIFT // shift L2 index into position 145 shr.u r28=r22,PUD_SHIFT // shift pud index into position
145#else 146#else
146 shr.u r18=r22,PMD_SHIFT // shift L3 index into position 147 shr.u r18=r22,PMD_SHIFT // shift pmd index into position
147#endif 148#endif
148 ;; 149 ;;
149 ld8 r17=[r17] // fetch the L1 entry (may be 0) 150 ld8 r17=[r17] // get *pgd (may be 0)
150 ;; 151 ;;
151(p7) cmp.eq p6,p7=r17,r0 // was L1 entry NULL? 152(p7) cmp.eq p6,p7=r17,r0 // was pgd_present(*pgd) == NULL?
152#ifdef CONFIG_PGTABLE_4 153#ifdef CONFIG_PGTABLE_4
153 dep r28=r28,r17,3,(PAGE_SHIFT-3) // compute address of L2 page table entry 154 dep r28=r28,r17,3,(PAGE_SHIFT-3) // r28=pud_offset(pgd,addr)
154 ;; 155 ;;
155 shr.u r18=r22,PMD_SHIFT // shift L3 index into position 156 shr.u r18=r22,PMD_SHIFT // shift pmd index into position
156(p7) ld8 r29=[r28] // fetch the L2 entry (may be 0) 157(p7) ld8 r29=[r28] // get *pud (may be 0)
157 ;; 158 ;;
158(p7) cmp.eq.or.andcm p6,p7=r29,r0 // was L2 entry NULL? 159(p7) cmp.eq.or.andcm p6,p7=r29,r0 // was pud_present(*pud) == NULL?
159 dep r17=r18,r29,3,(PAGE_SHIFT-3) // compute address of L3 page table entry 160 dep r17=r18,r29,3,(PAGE_SHIFT-3) // r17=pmd_offset(pud,addr)
160#else 161#else
161 dep r17=r18,r17,3,(PAGE_SHIFT-3) // compute address of L3 page table entry 162 dep r17=r18,r17,3,(PAGE_SHIFT-3) // r17=pmd_offset(pgd,addr)
162#endif 163#endif
163 ;; 164 ;;
164(p7) ld8 r20=[r17] // fetch the L3 entry (may be 0) 165(p7) ld8 r20=[r17] // get *pmd (may be 0)
165 shr.u r19=r22,PAGE_SHIFT // shift L4 index into position 166 shr.u r19=r22,PAGE_SHIFT // shift pte index into position
166 ;; 167 ;;
167(p7) cmp.eq.or.andcm p6,p7=r20,r0 // was L3 entry NULL? 168(p7) cmp.eq.or.andcm p6,p7=r20,r0 // was pmd_present(*pmd) == NULL?
168 dep r21=r19,r20,3,(PAGE_SHIFT-3) // compute address of L4 page table entry 169 dep r21=r19,r20,3,(PAGE_SHIFT-3) // r21=pte_offset(pmd,addr)
169 ;; 170 ;;
170(p7) ld8 r18=[r21] // read the L4 PTE 171(p7) ld8 r18=[r21] // read *pte
171 mov r19=cr.isr // cr.isr bit 0 tells us if this is an insn miss 172 mov r19=cr.isr // cr.isr bit 32 tells us if this is an insn miss
172 ;; 173 ;;
173(p7) tbit.z p6,p7=r18,_PAGE_P_BIT // page present bit cleared? 174(p7) tbit.z p6,p7=r18,_PAGE_P_BIT // page present bit cleared?
174 mov r22=cr.iha // get the VHPT address that caused the TLB miss 175 mov r22=cr.iha // get the VHPT address that caused the TLB miss
@@ -202,25 +203,33 @@ ENTRY(vhpt_miss)
202 dv_serialize_data 203 dv_serialize_data
203 204
204 /* 205 /*
205 * Re-check L2 and L3 pagetable. If they changed, we may have received a ptc.g 206 * Re-check pagetable entry. If they changed, we may have received a ptc.g
206 * between reading the pagetable and the "itc". If so, flush the entry we 207 * between reading the pagetable and the "itc". If so, flush the entry we
207 * inserted and retry. 208 * inserted and retry. At this point, we have:
209 *
210 * r28 = equivalent of pud_offset(pgd, ifa)
211 * r17 = equivalent of pmd_offset(pud, ifa)
212 * r21 = equivalent of pte_offset(pmd, ifa)
213 *
214 * r29 = *pud
215 * r20 = *pmd
216 * r18 = *pte
208 */ 217 */
209 ld8 r25=[r21] // read L4 entry again 218 ld8 r25=[r21] // read *pte again
210 ld8 r26=[r17] // read L3 PTE again 219 ld8 r26=[r17] // read *pmd again
211#ifdef CONFIG_PGTABLE_4 220#ifdef CONFIG_PGTABLE_4
212 ld8 r18=[r28] // read L2 entry again 221 ld8 r19=[r28] // read *pud again
213#endif 222#endif
214 cmp.ne p6,p7=r0,r0 223 cmp.ne p6,p7=r0,r0
215 ;; 224 ;;
216 cmp.ne.or.andcm p6,p7=r26,r20 // did L3 entry change 225 cmp.ne.or.andcm p6,p7=r26,r20 // did *pmd change
217#ifdef CONFIG_PGTABLE_4 226#ifdef CONFIG_PGTABLE_4
218 cmp.ne.or.andcm p6,p7=r29,r18 // did L4 PTE change 227 cmp.ne.or.andcm p6,p7=r19,r29 // did *pud change
219#endif 228#endif
220 mov r27=PAGE_SHIFT<<2 229 mov r27=PAGE_SHIFT<<2
221 ;; 230 ;;
222(p6) ptc.l r22,r27 // purge PTE page translation 231(p6) ptc.l r22,r27 // purge PTE page translation
223(p7) cmp.ne.or.andcm p6,p7=r25,r18 // did L4 PTE change 232(p7) cmp.ne.or.andcm p6,p7=r25,r18 // did *pte change
224 ;; 233 ;;
225(p6) ptc.l r16,r27 // purge translation 234(p6) ptc.l r16,r27 // purge translation
226#endif 235#endif
@@ -235,19 +244,19 @@ END(vhpt_miss)
235ENTRY(itlb_miss) 244ENTRY(itlb_miss)
236 DBG_FAULT(1) 245 DBG_FAULT(1)
237 /* 246 /*
238 * The ITLB handler accesses the L3 PTE via the virtually mapped linear 247 * The ITLB handler accesses the PTE via the virtually mapped linear
239 * page table. If a nested TLB miss occurs, we switch into physical 248 * page table. If a nested TLB miss occurs, we switch into physical
240 * mode, walk the page table, and then re-execute the L3 PTE read 249 * mode, walk the page table, and then re-execute the PTE read and
241 * and go on normally after that. 250 * go on normally after that.
242 */ 251 */
243 mov r16=cr.ifa // get virtual address 252 mov r16=cr.ifa // get virtual address
244 mov r29=b0 // save b0 253 mov r29=b0 // save b0
245 mov r31=pr // save predicates 254 mov r31=pr // save predicates
246.itlb_fault: 255.itlb_fault:
247 mov r17=cr.iha // get virtual address of L3 PTE 256 mov r17=cr.iha // get virtual address of PTE
248 movl r30=1f // load nested fault continuation point 257 movl r30=1f // load nested fault continuation point
249 ;; 258 ;;
2501: ld8 r18=[r17] // read L3 PTE 2591: ld8 r18=[r17] // read *pte
251 ;; 260 ;;
252 mov b0=r29 261 mov b0=r29
253 tbit.z p6,p0=r18,_PAGE_P_BIT // page present bit cleared? 262 tbit.z p6,p0=r18,_PAGE_P_BIT // page present bit cleared?
@@ -262,7 +271,7 @@ ENTRY(itlb_miss)
262 */ 271 */
263 dv_serialize_data 272 dv_serialize_data
264 273
265 ld8 r19=[r17] // read L3 PTE again and see if same 274 ld8 r19=[r17] // read *pte again and see if same
266 mov r20=PAGE_SHIFT<<2 // setup page size for purge 275 mov r20=PAGE_SHIFT<<2 // setup page size for purge
267 ;; 276 ;;
268 cmp.ne p7,p0=r18,r19 277 cmp.ne p7,p0=r18,r19
@@ -279,19 +288,19 @@ END(itlb_miss)
279ENTRY(dtlb_miss) 288ENTRY(dtlb_miss)
280 DBG_FAULT(2) 289 DBG_FAULT(2)
281 /* 290 /*
282 * The DTLB handler accesses the L3 PTE via the virtually mapped linear 291 * The DTLB handler accesses the PTE via the virtually mapped linear
283 * page table. If a nested TLB miss occurs, we switch into physical 292 * page table. If a nested TLB miss occurs, we switch into physical
284 * mode, walk the page table, and then re-execute the L3 PTE read 293 * mode, walk the page table, and then re-execute the PTE read and
285 * and go on normally after that. 294 * go on normally after that.
286 */ 295 */
287 mov r16=cr.ifa // get virtual address 296 mov r16=cr.ifa // get virtual address
288 mov r29=b0 // save b0 297 mov r29=b0 // save b0
289 mov r31=pr // save predicates 298 mov r31=pr // save predicates
290dtlb_fault: 299dtlb_fault:
291 mov r17=cr.iha // get virtual address of L3 PTE 300 mov r17=cr.iha // get virtual address of PTE
292 movl r30=1f // load nested fault continuation point 301 movl r30=1f // load nested fault continuation point
293 ;; 302 ;;
2941: ld8 r18=[r17] // read L3 PTE 3031: ld8 r18=[r17] // read *pte
295 ;; 304 ;;
296 mov b0=r29 305 mov b0=r29
297 tbit.z p6,p0=r18,_PAGE_P_BIT // page present bit cleared? 306 tbit.z p6,p0=r18,_PAGE_P_BIT // page present bit cleared?
@@ -306,7 +315,7 @@ dtlb_fault:
306 */ 315 */
307 dv_serialize_data 316 dv_serialize_data
308 317
309 ld8 r19=[r17] // read L3 PTE again and see if same 318 ld8 r19=[r17] // read *pte again and see if same
310 mov r20=PAGE_SHIFT<<2 // setup page size for purge 319 mov r20=PAGE_SHIFT<<2 // setup page size for purge
311 ;; 320 ;;
312 cmp.ne p7,p0=r18,r19 321 cmp.ne p7,p0=r18,r19
@@ -420,7 +429,7 @@ ENTRY(nested_dtlb_miss)
420 * r30: continuation address 429 * r30: continuation address
421 * r31: saved pr 430 * r31: saved pr
422 * 431 *
423 * Output: r17: physical address of L3 PTE of faulting address 432 * Output: r17: physical address of PTE of faulting address
424 * r29: saved b0 433 * r29: saved b0
425 * r30: continuation address 434 * r30: continuation address
426 * r31: saved pr 435 * r31: saved pr
@@ -450,33 +459,33 @@ ENTRY(nested_dtlb_miss)
450(p6) shr.u r21=r21,PGDIR_SHIFT+PAGE_SHIFT 459(p6) shr.u r21=r21,PGDIR_SHIFT+PAGE_SHIFT
451(p7) shr.u r21=r21,PGDIR_SHIFT+PAGE_SHIFT-3 460(p7) shr.u r21=r21,PGDIR_SHIFT+PAGE_SHIFT-3
452 ;; 461 ;;
453(p6) dep r17=r18,r19,3,(PAGE_SHIFT-3) // r17=PTA + IFA(33,42)*8 462(p6) dep r17=r18,r19,3,(PAGE_SHIFT-3) // r17=pgd_offset for region 5
454(p7) dep r17=r18,r17,3,(PAGE_SHIFT-6) // r17=PTA + (((IFA(61,63) << 7) | IFA(33,39))*8) 463(p7) dep r17=r18,r17,3,(PAGE_SHIFT-6) // r17=pgd_offset for region[0-4]
455 cmp.eq p7,p6=0,r21 // unused address bits all zeroes? 464 cmp.eq p7,p6=0,r21 // unused address bits all zeroes?
456#ifdef CONFIG_PGTABLE_4 465#ifdef CONFIG_PGTABLE_4
457 shr.u r18=r22,PUD_SHIFT // shift L2 index into position 466 shr.u r18=r22,PUD_SHIFT // shift pud index into position
458#else 467#else
459 shr.u r18=r22,PMD_SHIFT // shift L3 index into position 468 shr.u r18=r22,PMD_SHIFT // shift pmd index into position
460#endif 469#endif
461 ;; 470 ;;
462 ld8 r17=[r17] // fetch the L1 entry (may be 0) 471 ld8 r17=[r17] // get *pgd (may be 0)
463 ;; 472 ;;
464(p7) cmp.eq p6,p7=r17,r0 // was L1 entry NULL? 473(p7) cmp.eq p6,p7=r17,r0 // was pgd_present(*pgd) == NULL?
465 dep r17=r18,r17,3,(PAGE_SHIFT-3) // compute address of L2 page table entry 474 dep r17=r18,r17,3,(PAGE_SHIFT-3) // r17=p[u|m]d_offset(pgd,addr)
466 ;; 475 ;;
467#ifdef CONFIG_PGTABLE_4 476#ifdef CONFIG_PGTABLE_4
468(p7) ld8 r17=[r17] // fetch the L2 entry (may be 0) 477(p7) ld8 r17=[r17] // get *pud (may be 0)
469 shr.u r18=r22,PMD_SHIFT // shift L3 index into position 478 shr.u r18=r22,PMD_SHIFT // shift pmd index into position
470 ;; 479 ;;
471(p7) cmp.eq.or.andcm p6,p7=r17,r0 // was L2 entry NULL? 480(p7) cmp.eq.or.andcm p6,p7=r17,r0 // was pud_present(*pud) == NULL?
472 dep r17=r18,r17,3,(PAGE_SHIFT-3) // compute address of L2 page table entry 481 dep r17=r18,r17,3,(PAGE_SHIFT-3) // r17=pmd_offset(pud,addr)
473 ;; 482 ;;
474#endif 483#endif
475(p7) ld8 r17=[r17] // fetch the L3 entry (may be 0) 484(p7) ld8 r17=[r17] // get *pmd (may be 0)
476 shr.u r19=r22,PAGE_SHIFT // shift L4 index into position 485 shr.u r19=r22,PAGE_SHIFT // shift pte index into position
477 ;; 486 ;;
478(p7) cmp.eq.or.andcm p6,p7=r17,r0 // was L3 entry NULL? 487(p7) cmp.eq.or.andcm p6,p7=r17,r0 // was pmd_present(*pmd) == NULL?
479 dep r17=r19,r17,3,(PAGE_SHIFT-3) // compute address of L4 page table entry 488 dep r17=r19,r17,3,(PAGE_SHIFT-3) // r17=pte_offset(pmd,addr);
480(p6) br.cond.spnt page_fault 489(p6) br.cond.spnt page_fault
481 mov b0=r30 490 mov b0=r30
482 br.sptk.many b0 // return to continuation point 491 br.sptk.many b0 // return to continuation point
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 94df74bcc0ee..bb2efdd566a9 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -598,19 +598,6 @@ config ARCH_MEMORY_PROBE
598 def_bool y 598 def_bool y
599 depends on MEMORY_HOTPLUG 599 depends on MEMORY_HOTPLUG
600 600
601# Some NUMA nodes have memory ranges that span
602# other nodes. Even though a pfn is valid and
603# between a node's start and end pfns, it may not
604# reside on that node.
605#
606# This is a relatively temporary hack that should
607# be able to go away when sparsemem is fully in
608# place
609
610config NODES_SPAN_OTHER_NODES
611 def_bool y
612 depends on NEED_MULTIPLE_NODES
613
614config PPC_64K_PAGES 601config PPC_64K_PAGES
615 bool "64k page size" 602 bool "64k page size"
616 depends on PPC64 603 depends on PPC64
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 99dbea8c5c50..98f67c78d1bd 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -33,6 +33,8 @@ endif
33 33
34export CROSS32CC CROSS32AS CROSS32LD CROSS32OBJCOPY 34export CROSS32CC CROSS32AS CROSS32LD CROSS32OBJCOPY
35 35
36KBUILD_DEFCONFIG := $(shell uname -m)_defconfig
37
36ifeq ($(CONFIG_PPC64),y) 38ifeq ($(CONFIG_PPC64),y)
37OLDARCH := ppc64 39OLDARCH := ppc64
38SZ := 64 40SZ := 64
@@ -111,9 +113,6 @@ cpu-as-$(CONFIG_E200) += -Wa,-me200
111AFLAGS += $(cpu-as-y) 113AFLAGS += $(cpu-as-y)
112CFLAGS += $(cpu-as-y) 114CFLAGS += $(cpu-as-y)
113 115
114# Default to the common case.
115KBUILD_DEFCONFIG := common_defconfig
116
117head-y := arch/powerpc/kernel/head_32.o 116head-y := arch/powerpc/kernel/head_32.o
118head-$(CONFIG_PPC64) := arch/powerpc/kernel/head_64.o 117head-$(CONFIG_PPC64) := arch/powerpc/kernel/head_64.o
119head-$(CONFIG_8xx) := arch/powerpc/kernel/head_8xx.o 118head-$(CONFIG_8xx) := arch/powerpc/kernel/head_8xx.o
@@ -125,11 +124,11 @@ head-$(CONFIG_PPC64) += arch/powerpc/kernel/entry_64.o
125head-$(CONFIG_PPC_FPU) += arch/powerpc/kernel/fpu.o 124head-$(CONFIG_PPC_FPU) += arch/powerpc/kernel/fpu.o
126 125
127core-y += arch/powerpc/kernel/ \ 126core-y += arch/powerpc/kernel/ \
128 arch/$(OLDARCH)/kernel/ \
129 arch/powerpc/mm/ \ 127 arch/powerpc/mm/ \
130 arch/powerpc/lib/ \ 128 arch/powerpc/lib/ \
131 arch/powerpc/sysdev/ \ 129 arch/powerpc/sysdev/ \
132 arch/powerpc/platforms/ 130 arch/powerpc/platforms/
131core-$(CONFIG_PPC32) += arch/ppc/kernel/
133core-$(CONFIG_MATH_EMULATION) += arch/ppc/math-emu/ 132core-$(CONFIG_MATH_EMULATION) += arch/ppc/math-emu/
134core-$(CONFIG_XMON) += arch/powerpc/xmon/ 133core-$(CONFIG_XMON) += arch/powerpc/xmon/
135core-$(CONFIG_APUS) += arch/ppc/amiga/ 134core-$(CONFIG_APUS) += arch/ppc/amiga/
@@ -165,7 +164,7 @@ define archhelp
165 @echo ' (your) ~/bin/installkernel or' 164 @echo ' (your) ~/bin/installkernel or'
166 @echo ' (distribution) /sbin/installkernel or' 165 @echo ' (distribution) /sbin/installkernel or'
167 @echo ' install to $$(INSTALL_PATH) and run lilo' 166 @echo ' install to $$(INSTALL_PATH) and run lilo'
168 @echo ' *_defconfig - Select default config from arch/$(ARCH)/ppc/configs' 167 @echo ' *_defconfig - Select default config from arch/$(ARCH)/configs'
169endef 168endef
170 169
171archclean: 170archclean:
diff --git a/arch/powerpc/boot/crt0.S b/arch/powerpc/boot/crt0.S
index 9cc442263939..d2f2ace56cd3 100644
--- a/arch/powerpc/boot/crt0.S
+++ b/arch/powerpc/boot/crt0.S
@@ -14,43 +14,42 @@
14 .text 14 .text
15 .globl _zimage_start 15 .globl _zimage_start
16_zimage_start: 16_zimage_start:
17 bl reloc_offset 17 bl 1f
18 18
19reloc_offset: 191:
20 mflr r0 20 mflr r0
21 lis r9,reloc_offset@ha 21 lis r9,1b@ha
22 addi r9,r9,reloc_offset@l 22 addi r9,r9,1b@l
23 subf. r0,r9,r0 23 subf. r0,r9,r0
24 beq clear_caches 24 beq 3f
25 25
26reloc_got2:
27 lis r9,__got2_start@ha 26 lis r9,__got2_start@ha
28 addi r9,r9,__got2_start@l 27 addi r9,r9,__got2_start@l
29 lis r8,__got2_end@ha 28 lis r8,__got2_end@ha
30 addi r8,r8,__got2_end@l 29 addi r8,r8,__got2_end@l
31 subf. r8,r9,r8 30 subf. r8,r9,r8
32 beq clear_caches 31 beq 3f
33 srwi. r8,r8,2 32 srwi. r8,r8,2
34 mtctr r8 33 mtctr r8
35 add r9,r0,r9 34 add r9,r0,r9
36reloc_got2_loop: 352:
37 lwz r8,0(r9) 36 lwz r8,0(r9)
38 add r8,r8,r0 37 add r8,r8,r0
39 stw r8,0(r9) 38 stw r8,0(r9)
40 addi r9,r9,4 39 addi r9,r9,4
41 bdnz reloc_got2_loop 40 bdnz 2b
42 41
43clear_caches: 423:
44 lis r9,_start@h 43 lis r9,_start@h
45 add r9,r0,r9 44 add r9,r0,r9
46 lis r8,_etext@ha 45 lis r8,_etext@ha
47 addi r8,r8,_etext@l 46 addi r8,r8,_etext@l
48 add r8,r0,r8 47 add r8,r0,r8
491: dcbf r0,r9 484: dcbf r0,r9
50 icbi r0,r9 49 icbi r0,r9
51 addi r9,r9,0x20 50 addi r9,r9,0x20
52 cmplwi 0,r9,8 51 cmplwi 0,r9,8
53 blt 1b 52 blt 4b
54 sync 53 sync
55 isync 54 isync
56 55
diff --git a/arch/ppc64/defconfig b/arch/powerpc/configs/ppc64_defconfig
index e79fd60bc122..b5ba3bbd96fb 100644
--- a/arch/ppc64/defconfig
+++ b/arch/powerpc/configs/ppc64_defconfig
@@ -1,18 +1,33 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.14-rc4 3# Linux kernel version: 2.6.15-rc1
4# Thu Oct 20 08:28:33 2005 4# Fri Nov 18 16:23:24 2005
5# 5#
6CONFIG_PPC64=y
6CONFIG_64BIT=y 7CONFIG_64BIT=y
8CONFIG_PPC_MERGE=y
7CONFIG_MMU=y 9CONFIG_MMU=y
10CONFIG_GENERIC_HARDIRQS=y
8CONFIG_RWSEM_XCHGADD_ALGORITHM=y 11CONFIG_RWSEM_XCHGADD_ALGORITHM=y
9CONFIG_GENERIC_CALIBRATE_DELAY=y 12CONFIG_GENERIC_CALIBRATE_DELAY=y
10CONFIG_GENERIC_ISA_DMA=y 13CONFIG_PPC=y
11CONFIG_EARLY_PRINTK=y 14CONFIG_EARLY_PRINTK=y
12CONFIG_COMPAT=y 15CONFIG_COMPAT=y
16CONFIG_SYSVIPC_COMPAT=y
13CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y 17CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
14CONFIG_ARCH_MAY_HAVE_PC_FDC=y 18CONFIG_ARCH_MAY_HAVE_PC_FDC=y
15CONFIG_FORCE_MAX_ZONEORDER=13 19
20#
21# Processor support
22#
23# CONFIG_POWER4_ONLY is not set
24CONFIG_POWER3=y
25CONFIG_POWER4=y
26CONFIG_PPC_FPU=y
27CONFIG_ALTIVEC=y
28CONFIG_PPC_STD_MMU=y
29CONFIG_SMP=y
30CONFIG_NR_CPUS=32
16 31
17# 32#
18# Code maturity level options 33# Code maturity level options
@@ -41,7 +56,7 @@ CONFIG_CPUSETS=y
41CONFIG_INITRAMFS_SOURCE="" 56CONFIG_INITRAMFS_SOURCE=""
42# CONFIG_EMBEDDED is not set 57# CONFIG_EMBEDDED is not set
43CONFIG_KALLSYMS=y 58CONFIG_KALLSYMS=y
44# CONFIG_KALLSYMS_ALL is not set 59CONFIG_KALLSYMS_ALL=y
45# CONFIG_KALLSYMS_EXTRA_PASS is not set 60# CONFIG_KALLSYMS_EXTRA_PASS is not set
46CONFIG_PRINTK=y 61CONFIG_PRINTK=y
47CONFIG_BUG=y 62CONFIG_BUG=y
@@ -67,78 +82,115 @@ CONFIG_MODVERSIONS=y
67CONFIG_MODULE_SRCVERSION_ALL=y 82CONFIG_MODULE_SRCVERSION_ALL=y
68CONFIG_KMOD=y 83CONFIG_KMOD=y
69CONFIG_STOP_MACHINE=y 84CONFIG_STOP_MACHINE=y
70CONFIG_SYSVIPC_COMPAT=y 85
86#
87# Block layer
88#
89
90#
91# IO Schedulers
92#
93CONFIG_IOSCHED_NOOP=y
94CONFIG_IOSCHED_AS=y
95CONFIG_IOSCHED_DEADLINE=y
96CONFIG_IOSCHED_CFQ=y
97CONFIG_DEFAULT_AS=y
98# CONFIG_DEFAULT_DEADLINE is not set
99# CONFIG_DEFAULT_CFQ is not set
100# CONFIG_DEFAULT_NOOP is not set
101CONFIG_DEFAULT_IOSCHED="anticipatory"
71 102
72# 103#
73# Platform support 104# Platform support
74# 105#
75# CONFIG_PPC_ISERIES is not set
76CONFIG_PPC_MULTIPLATFORM=y 106CONFIG_PPC_MULTIPLATFORM=y
107# CONFIG_PPC_ISERIES is not set
108# CONFIG_EMBEDDED6xx is not set
109# CONFIG_APUS is not set
77CONFIG_PPC_PSERIES=y 110CONFIG_PPC_PSERIES=y
78CONFIG_PPC_BPA=y
79CONFIG_PPC_PMAC=y 111CONFIG_PPC_PMAC=y
112CONFIG_PPC_PMAC64=y
80CONFIG_PPC_MAPLE=y 113CONFIG_PPC_MAPLE=y
81CONFIG_PPC=y 114# CONFIG_PPC_CELL is not set
82CONFIG_PPC64=y
83CONFIG_PPC_OF=y 115CONFIG_PPC_OF=y
84CONFIG_XICS=y 116CONFIG_XICS=y
85CONFIG_MPIC=y
86CONFIG_BPA_IIC=y
87CONFIG_ALTIVEC=y
88CONFIG_PPC_SPLPAR=y
89CONFIG_KEXEC=y
90CONFIG_IBMVIO=y
91CONFIG_U3_DART=y 117CONFIG_U3_DART=y
118CONFIG_MPIC=y
119CONFIG_PPC_RTAS=y
120CONFIG_RTAS_ERROR_LOGGING=y
121CONFIG_RTAS_PROC=y
122CONFIG_RTAS_FLASH=m
123# CONFIG_MMIO_NVRAM is not set
92CONFIG_MPIC_BROKEN_U3=y 124CONFIG_MPIC_BROKEN_U3=y
93CONFIG_PPC_PMAC64=y 125CONFIG_IBMVIO=y
94CONFIG_BOOTX_TEXT=y 126# CONFIG_PPC_MPC106 is not set
95# CONFIG_POWER4_ONLY is not set 127CONFIG_GENERIC_TBSYNC=y
128CONFIG_CPU_FREQ=y
129CONFIG_CPU_FREQ_TABLE=y
130# CONFIG_CPU_FREQ_DEBUG is not set
131CONFIG_CPU_FREQ_STAT=y
132# CONFIG_CPU_FREQ_STAT_DETAILS is not set
133CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
134# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
135CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
136CONFIG_CPU_FREQ_GOV_POWERSAVE=y
137CONFIG_CPU_FREQ_GOV_USERSPACE=y
138# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
139# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
140CONFIG_CPU_FREQ_PMAC64=y
141# CONFIG_WANT_EARLY_SERIAL is not set
142
143#
144# Kernel options
145#
146# CONFIG_HZ_100 is not set
147CONFIG_HZ_250=y
148# CONFIG_HZ_1000 is not set
149CONFIG_HZ=250
150CONFIG_PREEMPT_NONE=y
151# CONFIG_PREEMPT_VOLUNTARY is not set
152# CONFIG_PREEMPT is not set
153# CONFIG_PREEMPT_BKL is not set
154CONFIG_BINFMT_ELF=y
155CONFIG_BINFMT_MISC=m
156CONFIG_FORCE_MAX_ZONEORDER=13
96CONFIG_IOMMU_VMERGE=y 157CONFIG_IOMMU_VMERGE=y
97CONFIG_SMP=y 158CONFIG_HOTPLUG_CPU=y
98CONFIG_NR_CPUS=32 159CONFIG_KEXEC=y
160CONFIG_IRQ_ALL_CPUS=y
161CONFIG_PPC_SPLPAR=y
162CONFIG_EEH=y
163CONFIG_SCANLOG=m
164CONFIG_LPARCFG=y
165# CONFIG_NUMA is not set
99CONFIG_ARCH_SELECT_MEMORY_MODEL=y 166CONFIG_ARCH_SELECT_MEMORY_MODEL=y
100CONFIG_ARCH_FLATMEM_ENABLE=y 167CONFIG_ARCH_FLATMEM_ENABLE=y
101CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
102CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y
103CONFIG_ARCH_SPARSEMEM_ENABLE=y 168CONFIG_ARCH_SPARSEMEM_ENABLE=y
169CONFIG_ARCH_SPARSEMEM_DEFAULT=y
104CONFIG_SELECT_MEMORY_MODEL=y 170CONFIG_SELECT_MEMORY_MODEL=y
105# CONFIG_FLATMEM_MANUAL is not set 171# CONFIG_FLATMEM_MANUAL is not set
106CONFIG_DISCONTIGMEM_MANUAL=y 172# CONFIG_DISCONTIGMEM_MANUAL is not set
107# CONFIG_SPARSEMEM_MANUAL is not set 173CONFIG_SPARSEMEM_MANUAL=y
108CONFIG_DISCONTIGMEM=y 174CONFIG_SPARSEMEM=y
109CONFIG_FLAT_NODE_MEM_MAP=y 175CONFIG_HAVE_MEMORY_PRESENT=y
110CONFIG_NEED_MULTIPLE_NODES=y
111# CONFIG_SPARSEMEM_STATIC is not set 176# CONFIG_SPARSEMEM_STATIC is not set
112CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y 177CONFIG_SPARSEMEM_EXTREME=y
113CONFIG_NODES_SPAN_OTHER_NODES=y 178# CONFIG_MEMORY_HOTPLUG is not set
114# CONFIG_NUMA is not set 179CONFIG_SPLIT_PTLOCK_CPUS=4096
180# CONFIG_PPC_64K_PAGES is not set
115# CONFIG_SCHED_SMT is not set 181# CONFIG_SCHED_SMT is not set
116CONFIG_PREEMPT_NONE=y
117# CONFIG_PREEMPT_VOLUNTARY is not set
118# CONFIG_PREEMPT is not set
119# CONFIG_PREEMPT_BKL is not set
120# CONFIG_HZ_100 is not set
121CONFIG_HZ_250=y
122# CONFIG_HZ_1000 is not set
123CONFIG_HZ=250
124CONFIG_EEH=y
125CONFIG_GENERIC_HARDIRQS=y
126CONFIG_PPC_RTAS=y
127CONFIG_RTAS_PROC=y
128CONFIG_RTAS_FLASH=m
129CONFIG_SCANLOG=m
130CONFIG_LPARCFG=y
131CONFIG_SECCOMP=y
132CONFIG_BINFMT_ELF=y
133CONFIG_BINFMT_MISC=m
134CONFIG_HOTPLUG_CPU=y
135CONFIG_PROC_DEVICETREE=y 182CONFIG_PROC_DEVICETREE=y
136# CONFIG_CMDLINE_BOOL is not set 183# CONFIG_CMDLINE_BOOL is not set
184# CONFIG_PM is not set
185CONFIG_SECCOMP=y
137CONFIG_ISA_DMA_API=y 186CONFIG_ISA_DMA_API=y
138 187
139# 188#
140# Bus Options 189# Bus options
141# 190#
191CONFIG_GENERIC_ISA_DMA=y
192CONFIG_PPC_I8259=y
193# CONFIG_PPC_INDIRECT_PCI is not set
142CONFIG_PCI=y 194CONFIG_PCI=y
143CONFIG_PCI_DOMAINS=y 195CONFIG_PCI_DOMAINS=y
144# CONFIG_PCI_LEGACY_PROC is not set 196# CONFIG_PCI_LEGACY_PROC is not set
@@ -158,6 +210,7 @@ CONFIG_HOTPLUG_PCI=m
158# CONFIG_HOTPLUG_PCI_SHPC is not set 210# CONFIG_HOTPLUG_PCI_SHPC is not set
159CONFIG_HOTPLUG_PCI_RPA=m 211CONFIG_HOTPLUG_PCI_RPA=m
160CONFIG_HOTPLUG_PCI_RPA_DLPAR=m 212CONFIG_HOTPLUG_PCI_RPA_DLPAR=m
213CONFIG_KERNEL_START=0xc000000000000000
161 214
162# 215#
163# Networking 216# Networking
@@ -199,6 +252,10 @@ CONFIG_TCP_CONG_BIC=y
199# CONFIG_IPV6 is not set 252# CONFIG_IPV6 is not set
200CONFIG_NETFILTER=y 253CONFIG_NETFILTER=y
201# CONFIG_NETFILTER_DEBUG is not set 254# CONFIG_NETFILTER_DEBUG is not set
255
256#
257# Core Netfilter Configuration
258#
202CONFIG_NETFILTER_NETLINK=y 259CONFIG_NETFILTER_NETLINK=y
203CONFIG_NETFILTER_NETLINK_QUEUE=m 260CONFIG_NETFILTER_NETLINK_QUEUE=m
204CONFIG_NETFILTER_NETLINK_LOG=m 261CONFIG_NETFILTER_NETLINK_LOG=m
@@ -301,6 +358,10 @@ CONFIG_LLC=y
301# CONFIG_NET_DIVERT is not set 358# CONFIG_NET_DIVERT is not set
302# CONFIG_ECONET is not set 359# CONFIG_ECONET is not set
303# CONFIG_WAN_ROUTER is not set 360# CONFIG_WAN_ROUTER is not set
361
362#
363# QoS and/or fair queueing
364#
304# CONFIG_NET_SCHED is not set 365# CONFIG_NET_SCHED is not set
305CONFIG_NET_CLS_ROUTE=y 366CONFIG_NET_CLS_ROUTE=y
306 367
@@ -338,13 +399,7 @@ CONFIG_FW_LOADER=y
338# 399#
339# Parallel port support 400# Parallel port support
340# 401#
341CONFIG_PARPORT=m 402# CONFIG_PARPORT is not set
342CONFIG_PARPORT_PC=m
343# CONFIG_PARPORT_SERIAL is not set
344# CONFIG_PARPORT_PC_FIFO is not set
345# CONFIG_PARPORT_PC_SUPERIO is not set
346# CONFIG_PARPORT_GSC is not set
347# CONFIG_PARPORT_1284 is not set
348 403
349# 404#
350# Plug and Play support 405# Plug and Play support
@@ -354,7 +409,6 @@ CONFIG_PARPORT_PC=m
354# Block devices 409# Block devices
355# 410#
356CONFIG_BLK_DEV_FD=y 411CONFIG_BLK_DEV_FD=y
357# CONFIG_PARIDE is not set
358# CONFIG_BLK_CPQ_DA is not set 412# CONFIG_BLK_CPQ_DA is not set
359# CONFIG_BLK_CPQ_CISS_DA is not set 413# CONFIG_BLK_CPQ_CISS_DA is not set
360# CONFIG_BLK_DEV_DAC960 is not set 414# CONFIG_BLK_DEV_DAC960 is not set
@@ -370,14 +424,6 @@ CONFIG_BLK_DEV_RAM_COUNT=16
370CONFIG_BLK_DEV_RAM_SIZE=65536 424CONFIG_BLK_DEV_RAM_SIZE=65536
371CONFIG_BLK_DEV_INITRD=y 425CONFIG_BLK_DEV_INITRD=y
372# CONFIG_CDROM_PKTCDVD is not set 426# CONFIG_CDROM_PKTCDVD is not set
373
374#
375# IO Schedulers
376#
377CONFIG_IOSCHED_NOOP=y
378CONFIG_IOSCHED_AS=y
379CONFIG_IOSCHED_DEADLINE=y
380CONFIG_IOSCHED_CFQ=y
381# CONFIG_ATA_OVER_ETH is not set 427# CONFIG_ATA_OVER_ETH is not set
382 428
383# 429#
@@ -407,7 +453,7 @@ CONFIG_IDEPCI_SHARE_IRQ=y
407# CONFIG_BLK_DEV_OFFBOARD is not set 453# CONFIG_BLK_DEV_OFFBOARD is not set
408CONFIG_BLK_DEV_GENERIC=y 454CONFIG_BLK_DEV_GENERIC=y
409# CONFIG_BLK_DEV_OPTI621 is not set 455# CONFIG_BLK_DEV_OPTI621 is not set
410CONFIG_BLK_DEV_SL82C105=y 456# CONFIG_BLK_DEV_SL82C105 is not set
411CONFIG_BLK_DEV_IDEDMA_PCI=y 457CONFIG_BLK_DEV_IDEDMA_PCI=y
412# CONFIG_BLK_DEV_IDEDMA_FORCED is not set 458# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
413CONFIG_IDEDMA_PCI_AUTO=y 459CONFIG_IDEDMA_PCI_AUTO=y
@@ -479,6 +525,7 @@ CONFIG_SCSI_ISCSI_ATTRS=m
479# 525#
480# SCSI low-level drivers 526# SCSI low-level drivers
481# 527#
528# CONFIG_ISCSI_TCP is not set
482# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 529# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
483# CONFIG_SCSI_3W_9XXX is not set 530# CONFIG_SCSI_3W_9XXX is not set
484# CONFIG_SCSI_ACARD is not set 531# CONFIG_SCSI_ACARD is not set
@@ -495,10 +542,12 @@ CONFIG_SCSI_SATA_SVW=y
495# CONFIG_SCSI_ATA_PIIX is not set 542# CONFIG_SCSI_ATA_PIIX is not set
496# CONFIG_SCSI_SATA_MV is not set 543# CONFIG_SCSI_SATA_MV is not set
497# CONFIG_SCSI_SATA_NV is not set 544# CONFIG_SCSI_SATA_NV is not set
498# CONFIG_SCSI_SATA_PROMISE is not set 545# CONFIG_SCSI_PDC_ADMA is not set
499# CONFIG_SCSI_SATA_QSTOR is not set 546# CONFIG_SCSI_SATA_QSTOR is not set
547# CONFIG_SCSI_SATA_PROMISE is not set
500# CONFIG_SCSI_SATA_SX4 is not set 548# CONFIG_SCSI_SATA_SX4 is not set
501# CONFIG_SCSI_SATA_SIL is not set 549# CONFIG_SCSI_SATA_SIL is not set
550# CONFIG_SCSI_SATA_SIL24 is not set
502# CONFIG_SCSI_SATA_SIS is not set 551# CONFIG_SCSI_SATA_SIS is not set
503# CONFIG_SCSI_SATA_ULI is not set 552# CONFIG_SCSI_SATA_ULI is not set
504# CONFIG_SCSI_SATA_VIA is not set 553# CONFIG_SCSI_SATA_VIA is not set
@@ -512,8 +561,6 @@ CONFIG_SCSI_SATA_SVW=y
512CONFIG_SCSI_IBMVSCSI=y 561CONFIG_SCSI_IBMVSCSI=y
513# CONFIG_SCSI_INITIO is not set 562# CONFIG_SCSI_INITIO is not set
514# CONFIG_SCSI_INIA100 is not set 563# CONFIG_SCSI_INIA100 is not set
515# CONFIG_SCSI_PPA is not set
516# CONFIG_SCSI_IMM is not set
517CONFIG_SCSI_SYM53C8XX_2=y 564CONFIG_SCSI_SYM53C8XX_2=y
518CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0 565CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0
519CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 566CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
@@ -608,6 +655,9 @@ CONFIG_IEEE1394_AMDTP=m
608CONFIG_ADB_PMU=y 655CONFIG_ADB_PMU=y
609CONFIG_PMAC_SMU=y 656CONFIG_PMAC_SMU=y
610CONFIG_THERM_PM72=y 657CONFIG_THERM_PM72=y
658CONFIG_WINDFARM=y
659CONFIG_WINDFARM_PM81=y
660CONFIG_WINDFARM_PM91=y
611 661
612# 662#
613# Network device support 663# Network device support
@@ -664,7 +714,6 @@ CONFIG_E100=y
664# CONFIG_EPIC100 is not set 714# CONFIG_EPIC100 is not set
665# CONFIG_SUNDANCE is not set 715# CONFIG_SUNDANCE is not set
666# CONFIG_VIA_RHINE is not set 716# CONFIG_VIA_RHINE is not set
667# CONFIG_NET_POCKET is not set
668 717
669# 718#
670# Ethernet (1000 Mbit) 719# Ethernet (1000 Mbit)
@@ -684,7 +733,6 @@ CONFIG_E1000=y
684# CONFIG_VIA_VELOCITY is not set 733# CONFIG_VIA_VELOCITY is not set
685CONFIG_TIGON3=y 734CONFIG_TIGON3=y
686# CONFIG_BNX2 is not set 735# CONFIG_BNX2 is not set
687# CONFIG_SPIDER_NET is not set
688# CONFIG_MV643XX_ETH is not set 736# CONFIG_MV643XX_ETH is not set
689 737
690# 738#
@@ -714,7 +762,6 @@ CONFIG_IBMOL=y
714# CONFIG_WAN is not set 762# CONFIG_WAN is not set
715# CONFIG_FDDI is not set 763# CONFIG_FDDI is not set
716# CONFIG_HIPPI is not set 764# CONFIG_HIPPI is not set
717# CONFIG_PLIP is not set
718CONFIG_PPP=m 765CONFIG_PPP=m
719# CONFIG_PPP_MULTILINK is not set 766# CONFIG_PPP_MULTILINK is not set
720# CONFIG_PPP_FILTER is not set 767# CONFIG_PPP_FILTER is not set
@@ -722,6 +769,7 @@ CONFIG_PPP_ASYNC=m
722CONFIG_PPP_SYNC_TTY=m 769CONFIG_PPP_SYNC_TTY=m
723CONFIG_PPP_DEFLATE=m 770CONFIG_PPP_DEFLATE=m
724CONFIG_PPP_BSDCOMP=m 771CONFIG_PPP_BSDCOMP=m
772# CONFIG_PPP_MPPE is not set
725CONFIG_PPPOE=m 773CONFIG_PPPOE=m
726# CONFIG_SLIP is not set 774# CONFIG_SLIP is not set
727# CONFIG_NET_FC is not set 775# CONFIG_NET_FC is not set
@@ -784,7 +832,6 @@ CONFIG_INPUT_PCSPKR=m
784CONFIG_SERIO=y 832CONFIG_SERIO=y
785CONFIG_SERIO_I8042=y 833CONFIG_SERIO_I8042=y
786# CONFIG_SERIO_SERPORT is not set 834# CONFIG_SERIO_SERPORT is not set
787# CONFIG_SERIO_PARKBD is not set
788# CONFIG_SERIO_PCIPS2 is not set 835# CONFIG_SERIO_PCIPS2 is not set
789CONFIG_SERIO_LIBPS2=y 836CONFIG_SERIO_LIBPS2=y
790# CONFIG_SERIO_RAW is not set 837# CONFIG_SERIO_RAW is not set
@@ -817,10 +864,6 @@ CONFIG_SERIAL_JSM=m
817CONFIG_UNIX98_PTYS=y 864CONFIG_UNIX98_PTYS=y
818CONFIG_LEGACY_PTYS=y 865CONFIG_LEGACY_PTYS=y
819CONFIG_LEGACY_PTY_COUNT=256 866CONFIG_LEGACY_PTY_COUNT=256
820CONFIG_PRINTER=m
821# CONFIG_LP_CONSOLE is not set
822# CONFIG_PPDEV is not set
823# CONFIG_TIPAR is not set
824CONFIG_HVC_CONSOLE=y 867CONFIG_HVC_CONSOLE=y
825CONFIG_HVCS=m 868CONFIG_HVCS=m
826 869
@@ -834,6 +877,7 @@ CONFIG_HVCS=m
834# 877#
835# CONFIG_WATCHDOG is not set 878# CONFIG_WATCHDOG is not set
836# CONFIG_RTC is not set 879# CONFIG_RTC is not set
880# CONFIG_GEN_RTC is not set
837# CONFIG_DTLK is not set 881# CONFIG_DTLK is not set
838# CONFIG_R3964 is not set 882# CONFIG_R3964 is not set
839# CONFIG_APPLICOM is not set 883# CONFIG_APPLICOM is not set
@@ -851,6 +895,7 @@ CONFIG_MAX_RAW_DEVS=256
851# TPM devices 895# TPM devices
852# 896#
853# CONFIG_TCG_TPM is not set 897# CONFIG_TCG_TPM is not set
898# CONFIG_TELCLOCK is not set
854 899
855# 900#
856# I2C support 901# I2C support
@@ -879,7 +924,6 @@ CONFIG_I2C_AMD8111=y
879CONFIG_I2C_KEYWEST=y 924CONFIG_I2C_KEYWEST=y
880CONFIG_I2C_PMAC_SMU=y 925CONFIG_I2C_PMAC_SMU=y
881# CONFIG_I2C_NFORCE2 is not set 926# CONFIG_I2C_NFORCE2 is not set
882# CONFIG_I2C_PARPORT is not set
883# CONFIG_I2C_PARPORT_LIGHT is not set 927# CONFIG_I2C_PARPORT_LIGHT is not set
884# CONFIG_I2C_PROSAVAGE is not set 928# CONFIG_I2C_PROSAVAGE is not set
885# CONFIG_I2C_SAVAGE4 is not set 929# CONFIG_I2C_SAVAGE4 is not set
@@ -904,6 +948,7 @@ CONFIG_I2C_PMAC_SMU=y
904# CONFIG_SENSORS_PCF8591 is not set 948# CONFIG_SENSORS_PCF8591 is not set
905# CONFIG_SENSORS_RTC8564 is not set 949# CONFIG_SENSORS_RTC8564 is not set
906# CONFIG_SENSORS_MAX6875 is not set 950# CONFIG_SENSORS_MAX6875 is not set
951# CONFIG_RTC_X1205_I2C is not set
907# CONFIG_I2C_DEBUG_CORE is not set 952# CONFIG_I2C_DEBUG_CORE is not set
908# CONFIG_I2C_DEBUG_ALGO is not set 953# CONFIG_I2C_DEBUG_ALGO is not set
909# CONFIG_I2C_DEBUG_BUS is not set 954# CONFIG_I2C_DEBUG_BUS is not set
@@ -945,7 +990,6 @@ CONFIG_FB=y
945CONFIG_FB_CFB_FILLRECT=y 990CONFIG_FB_CFB_FILLRECT=y
946CONFIG_FB_CFB_COPYAREA=y 991CONFIG_FB_CFB_COPYAREA=y
947CONFIG_FB_CFB_IMAGEBLIT=y 992CONFIG_FB_CFB_IMAGEBLIT=y
948CONFIG_FB_SOFT_CURSOR=y
949CONFIG_FB_MACMODES=y 993CONFIG_FB_MACMODES=y
950CONFIG_FB_MODE_HELPERS=y 994CONFIG_FB_MODE_HELPERS=y
951CONFIG_FB_TILEBLITTING=y 995CONFIG_FB_TILEBLITTING=y
@@ -960,6 +1004,7 @@ CONFIG_FB_OF=y
960# CONFIG_FB_ASILIANT is not set 1004# CONFIG_FB_ASILIANT is not set
961# CONFIG_FB_IMSTT is not set 1005# CONFIG_FB_IMSTT is not set
962# CONFIG_FB_VGA16 is not set 1006# CONFIG_FB_VGA16 is not set
1007# CONFIG_FB_S1D13XXX is not set
963# CONFIG_FB_NVIDIA is not set 1008# CONFIG_FB_NVIDIA is not set
964# CONFIG_FB_RIVA is not set 1009# CONFIG_FB_RIVA is not set
965CONFIG_FB_MATROX=y 1010CONFIG_FB_MATROX=y
@@ -983,7 +1028,6 @@ CONFIG_FB_RADEON_I2C=y
983# CONFIG_FB_VOODOO1 is not set 1028# CONFIG_FB_VOODOO1 is not set
984# CONFIG_FB_CYBLA is not set 1029# CONFIG_FB_CYBLA is not set
985# CONFIG_FB_TRIDENT is not set 1030# CONFIG_FB_TRIDENT is not set
986# CONFIG_FB_S1D13XXX is not set
987# CONFIG_FB_VIRTUAL is not set 1031# CONFIG_FB_VIRTUAL is not set
988 1032
989# 1033#
@@ -992,6 +1036,7 @@ CONFIG_FB_RADEON_I2C=y
992# CONFIG_VGA_CONSOLE is not set 1036# CONFIG_VGA_CONSOLE is not set
993CONFIG_DUMMY_CONSOLE=y 1037CONFIG_DUMMY_CONSOLE=y
994CONFIG_FRAMEBUFFER_CONSOLE=y 1038CONFIG_FRAMEBUFFER_CONSOLE=y
1039# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
995# CONFIG_FONTS is not set 1040# CONFIG_FONTS is not set
996CONFIG_FONT_8x8=y 1041CONFIG_FONT_8x8=y
997CONFIG_FONT_8x16=y 1042CONFIG_FONT_8x16=y
@@ -1012,7 +1057,94 @@ CONFIG_LCD_DEVICE=y
1012# 1057#
1013# Sound 1058# Sound
1014# 1059#
1015# CONFIG_SOUND is not set 1060CONFIG_SOUND=m
1061
1062#
1063# Advanced Linux Sound Architecture
1064#
1065CONFIG_SND=m
1066CONFIG_SND_TIMER=m
1067CONFIG_SND_PCM=m
1068CONFIG_SND_SEQUENCER=m
1069CONFIG_SND_SEQ_DUMMY=m
1070CONFIG_SND_OSSEMUL=y
1071CONFIG_SND_MIXER_OSS=m
1072CONFIG_SND_PCM_OSS=m
1073CONFIG_SND_SEQUENCER_OSS=y
1074# CONFIG_SND_VERBOSE_PRINTK is not set
1075# CONFIG_SND_DEBUG is not set
1076CONFIG_SND_GENERIC_DRIVER=y
1077
1078#
1079# Generic devices
1080#
1081# CONFIG_SND_DUMMY is not set
1082# CONFIG_SND_VIRMIDI is not set
1083# CONFIG_SND_MTPAV is not set
1084# CONFIG_SND_SERIAL_U16550 is not set
1085# CONFIG_SND_MPU401 is not set
1086
1087#
1088# PCI devices
1089#
1090# CONFIG_SND_ALI5451 is not set
1091# CONFIG_SND_ATIIXP is not set
1092# CONFIG_SND_ATIIXP_MODEM is not set
1093# CONFIG_SND_AU8810 is not set
1094# CONFIG_SND_AU8820 is not set
1095# CONFIG_SND_AU8830 is not set
1096# CONFIG_SND_AZT3328 is not set
1097# CONFIG_SND_BT87X is not set
1098# CONFIG_SND_CS46XX is not set
1099# CONFIG_SND_CS4281 is not set
1100# CONFIG_SND_EMU10K1 is not set
1101# CONFIG_SND_EMU10K1X is not set
1102# CONFIG_SND_CA0106 is not set
1103# CONFIG_SND_KORG1212 is not set
1104# CONFIG_SND_MIXART is not set
1105# CONFIG_SND_NM256 is not set
1106# CONFIG_SND_RME32 is not set
1107# CONFIG_SND_RME96 is not set
1108# CONFIG_SND_RME9652 is not set
1109# CONFIG_SND_HDSP is not set
1110# CONFIG_SND_HDSPM is not set
1111# CONFIG_SND_TRIDENT is not set
1112# CONFIG_SND_YMFPCI is not set
1113# CONFIG_SND_AD1889 is not set
1114# CONFIG_SND_ALS4000 is not set
1115# CONFIG_SND_CMIPCI is not set
1116# CONFIG_SND_ENS1370 is not set
1117# CONFIG_SND_ENS1371 is not set
1118# CONFIG_SND_ES1938 is not set
1119# CONFIG_SND_ES1968 is not set
1120# CONFIG_SND_MAESTRO3 is not set
1121# CONFIG_SND_FM801 is not set
1122# CONFIG_SND_ICE1712 is not set
1123# CONFIG_SND_ICE1724 is not set
1124# CONFIG_SND_INTEL8X0 is not set
1125# CONFIG_SND_INTEL8X0M is not set
1126# CONFIG_SND_SONICVIBES is not set
1127# CONFIG_SND_VIA82XX is not set
1128# CONFIG_SND_VIA82XX_MODEM is not set
1129# CONFIG_SND_VX222 is not set
1130# CONFIG_SND_HDA_INTEL is not set
1131
1132#
1133# ALSA PowerMac devices
1134#
1135CONFIG_SND_POWERMAC=m
1136CONFIG_SND_POWERMAC_AUTO_DRC=y
1137
1138#
1139# USB devices
1140#
1141# CONFIG_SND_USB_AUDIO is not set
1142# CONFIG_SND_USB_USX2Y is not set
1143
1144#
1145# Open Sound System
1146#
1147# CONFIG_SOUND_PRIME is not set
1016 1148
1017# 1149#
1018# USB support 1150# USB support
@@ -1046,12 +1178,16 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1046# 1178#
1047# USB Device Class drivers 1179# USB Device Class drivers
1048# 1180#
1049# CONFIG_USB_BLUETOOTH_TTY is not set 1181# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
1050# CONFIG_USB_ACM is not set 1182# CONFIG_USB_ACM is not set
1051# CONFIG_USB_PRINTER is not set 1183# CONFIG_USB_PRINTER is not set
1052 1184
1053# 1185#
1054# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information 1186# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
1187#
1188
1189#
1190# may also be needed; see USB_STORAGE Help for more information
1055# 1191#
1056CONFIG_USB_STORAGE=m 1192CONFIG_USB_STORAGE=m
1057# CONFIG_USB_STORAGE_DEBUG is not set 1193# CONFIG_USB_STORAGE_DEBUG is not set
@@ -1106,7 +1242,7 @@ CONFIG_USB_HIDDEV=y
1106# 1242#
1107# CONFIG_USB_CATC is not set 1243# CONFIG_USB_CATC is not set
1108# CONFIG_USB_KAWETH is not set 1244# CONFIG_USB_KAWETH is not set
1109CONFIG_USB_PEGASUS=y 1245# CONFIG_USB_PEGASUS is not set
1110# CONFIG_USB_RTL8150 is not set 1246# CONFIG_USB_RTL8150 is not set
1111# CONFIG_USB_USBNET is not set 1247# CONFIG_USB_USBNET is not set
1112# CONFIG_USB_MON is not set 1248# CONFIG_USB_MON is not set
@@ -1114,7 +1250,6 @@ CONFIG_USB_PEGASUS=y
1114# 1250#
1115# USB port drivers 1251# USB port drivers
1116# 1252#
1117# CONFIG_USB_USS720 is not set
1118 1253
1119# 1254#
1120# USB Serial Converter support 1255# USB Serial Converter support
@@ -1163,6 +1298,7 @@ CONFIG_INFINIBAND_MTHCA=m
1163# CONFIG_INFINIBAND_MTHCA_DEBUG is not set 1298# CONFIG_INFINIBAND_MTHCA_DEBUG is not set
1164CONFIG_INFINIBAND_IPOIB=m 1299CONFIG_INFINIBAND_IPOIB=m
1165# CONFIG_INFINIBAND_IPOIB_DEBUG is not set 1300# CONFIG_INFINIBAND_IPOIB_DEBUG is not set
1301# CONFIG_INFINIBAND_SRP is not set
1166 1302
1167# 1303#
1168# SN Devices 1304# SN Devices
@@ -1358,10 +1494,25 @@ CONFIG_NLS_KOI8_U=m
1358CONFIG_NLS_UTF8=m 1494CONFIG_NLS_UTF8=m
1359 1495
1360# 1496#
1361# Profiling support 1497# Library routines
1498#
1499CONFIG_CRC_CCITT=m
1500# CONFIG_CRC16 is not set
1501CONFIG_CRC32=y
1502CONFIG_LIBCRC32C=m
1503CONFIG_ZLIB_INFLATE=y
1504CONFIG_ZLIB_DEFLATE=m
1505CONFIG_TEXTSEARCH=y
1506CONFIG_TEXTSEARCH_KMP=m
1507CONFIG_TEXTSEARCH_BM=m
1508CONFIG_TEXTSEARCH_FSM=m
1509
1510#
1511# Instrumentation Support
1362# 1512#
1363CONFIG_PROFILING=y 1513CONFIG_PROFILING=y
1364CONFIG_OPROFILE=y 1514CONFIG_OPROFILE=y
1515# CONFIG_KPROBES is not set
1365 1516
1366# 1517#
1367# Kernel hacking 1518# Kernel hacking
@@ -1378,14 +1529,15 @@ CONFIG_DETECT_SOFTLOCKUP=y
1378# CONFIG_DEBUG_KOBJECT is not set 1529# CONFIG_DEBUG_KOBJECT is not set
1379# CONFIG_DEBUG_INFO is not set 1530# CONFIG_DEBUG_INFO is not set
1380CONFIG_DEBUG_FS=y 1531CONFIG_DEBUG_FS=y
1532# CONFIG_DEBUG_VM is not set
1533# CONFIG_RCU_TORTURE_TEST is not set
1381CONFIG_DEBUG_STACKOVERFLOW=y 1534CONFIG_DEBUG_STACKOVERFLOW=y
1382# CONFIG_KPROBES is not set
1383CONFIG_DEBUG_STACK_USAGE=y 1535CONFIG_DEBUG_STACK_USAGE=y
1384CONFIG_DEBUGGER=y 1536CONFIG_DEBUGGER=y
1385CONFIG_XMON=y 1537CONFIG_XMON=y
1386# CONFIG_XMON_DEFAULT is not set 1538# CONFIG_XMON_DEFAULT is not set
1387# CONFIG_PPCDBG is not set
1388CONFIG_IRQSTACKS=y 1539CONFIG_IRQSTACKS=y
1540CONFIG_BOOTX_TEXT=y
1389 1541
1390# 1542#
1391# Security options 1543# Security options
@@ -1425,17 +1577,3 @@ CONFIG_CRYPTO_TEST=m
1425# 1577#
1426# Hardware crypto devices 1578# Hardware crypto devices
1427# 1579#
1428
1429#
1430# Library routines
1431#
1432CONFIG_CRC_CCITT=m
1433# CONFIG_CRC16 is not set
1434CONFIG_CRC32=y
1435CONFIG_LIBCRC32C=m
1436CONFIG_ZLIB_INFLATE=y
1437CONFIG_ZLIB_DEFLATE=m
1438CONFIG_TEXTSEARCH=y
1439CONFIG_TEXTSEARCH_KMP=m
1440CONFIG_TEXTSEARCH_BM=m
1441CONFIG_TEXTSEARCH_FSM=m
diff --git a/arch/powerpc/configs/pseries_defconfig b/arch/powerpc/configs/pseries_defconfig
index b4745c918a4a..b589b196eb3f 100644
--- a/arch/powerpc/configs/pseries_defconfig
+++ b/arch/powerpc/configs/pseries_defconfig
@@ -165,7 +165,6 @@ CONFIG_SPARSEMEM_EXTREME=y
165# CONFIG_MEMORY_HOTPLUG is not set 165# CONFIG_MEMORY_HOTPLUG is not set
166CONFIG_SPLIT_PTLOCK_CPUS=4096 166CONFIG_SPLIT_PTLOCK_CPUS=4096
167CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y 167CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y
168CONFIG_NODES_SPAN_OTHER_NODES=y
169# CONFIG_PPC_64K_PAGES is not set 168# CONFIG_PPC_64K_PAGES is not set
170CONFIG_SCHED_SMT=y 169CONFIG_SCHED_SMT=y
171CONFIG_PROC_DEVICETREE=y 170CONFIG_PROC_DEVICETREE=y
diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
index 4970e3721a84..9ed551b6c172 100644
--- a/arch/powerpc/kernel/Makefile
+++ b/arch/powerpc/kernel/Makefile
@@ -12,12 +12,12 @@ CFLAGS_btext.o += -fPIC
12endif 12endif
13 13
14obj-y := semaphore.o cputable.o ptrace.o syscalls.o \ 14obj-y := semaphore.o cputable.o ptrace.o syscalls.o \
15 irq.o signal_32.o pmc.o vdso.o 15 irq.o align.o signal_32.o pmc.o vdso.o
16obj-y += vdso32/ 16obj-y += vdso32/
17obj-$(CONFIG_PPC64) += setup_64.o binfmt_elf32.o sys_ppc32.o \ 17obj-$(CONFIG_PPC64) += setup_64.o binfmt_elf32.o sys_ppc32.o \
18 signal_64.o ptrace32.o systbl.o \ 18 signal_64.o ptrace32.o systbl.o \
19 paca.o ioctl32.o cpu_setup_power4.o \ 19 paca.o ioctl32.o cpu_setup_power4.o \
20 firmware.o sysfs.o udbg.o 20 firmware.o sysfs.o udbg.o idle_64.o
21obj-$(CONFIG_PPC64) += vdso64/ 21obj-$(CONFIG_PPC64) += vdso64/
22obj-$(CONFIG_ALTIVEC) += vecemu.o vector.o 22obj-$(CONFIG_ALTIVEC) += vecemu.o vector.o
23obj-$(CONFIG_POWER4) += idle_power4.o 23obj-$(CONFIG_POWER4) += idle_power4.o
@@ -35,6 +35,7 @@ obj-$(CONFIG_PPC_PSERIES) += udbg_16550.o
35obj-$(CONFIG_PPC_MAPLE) += udbg_16550.o 35obj-$(CONFIG_PPC_MAPLE) += udbg_16550.o
36udbgscc-$(CONFIG_PPC64) := udbg_scc.o 36udbgscc-$(CONFIG_PPC64) := udbg_scc.o
37obj-$(CONFIG_PPC_PMAC) += $(udbgscc-y) 37obj-$(CONFIG_PPC_PMAC) += $(udbgscc-y)
38obj64-$(CONFIG_PPC_MULTIPLATFORM) += nvram_64.o
38 39
39ifeq ($(CONFIG_PPC_MERGE),y) 40ifeq ($(CONFIG_PPC_MERGE),y)
40 41
@@ -78,5 +79,7 @@ smpobj-$(CONFIG_SMP) += smp.o
78 79
79endif 80endif
80 81
82obj-$(CONFIG_PPC64) += $(obj64-y)
83
81extra-$(CONFIG_PPC_FPU) += fpu.o 84extra-$(CONFIG_PPC_FPU) += fpu.o
82extra-$(CONFIG_PPC64) += entry_64.o 85extra-$(CONFIG_PPC64) += entry_64.o
diff --git a/arch/ppc64/kernel/align.c b/arch/powerpc/kernel/align.c
index 256d5b592aa1..faaec9c6f78f 100644
--- a/arch/ppc64/kernel/align.c
+++ b/arch/powerpc/kernel/align.c
@@ -7,6 +7,9 @@
7 * PowerPC 403GCX/405GP modifications. 7 * PowerPC 403GCX/405GP modifications.
8 * Copyright (c) 2001-2002 PPC64 team, IBM Corp 8 * Copyright (c) 2001-2002 PPC64 team, IBM Corp
9 * 64-bit and Power4 support 9 * 64-bit and Power4 support
10 * Copyright (c) 2005 Benjamin Herrenschmidt, IBM Corp
11 * <benh@kernel.crashing.org>
12 * Merge ppc32 and ppc64 implementations
10 * 13 *
11 * This program is free software; you can redistribute it and/or 14 * This program is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License 15 * modify it under the terms of the GNU General Public License
@@ -38,10 +41,15 @@ struct aligninfo {
38#define F 8 /* to/from fp regs */ 41#define F 8 /* to/from fp regs */
39#define U 0x10 /* update index register */ 42#define U 0x10 /* update index register */
40#define M 0x20 /* multiple load/store */ 43#define M 0x20 /* multiple load/store */
41#define SW 0x40 /* byte swap */ 44#define SW 0x40 /* byte swap int or ... */
45#define S 0x40 /* ... single-precision fp */
46#define SX 0x40 /* byte count in XER */
47#define HARD 0x80 /* string, stwcx. */
42 48
43#define DCBZ 0x5f /* 8xx/82xx dcbz faults when cache not enabled */ 49#define DCBZ 0x5f /* 8xx/82xx dcbz faults when cache not enabled */
44 50
51#define SWAP(a, b) (t = (a), (a) = (b), (b) = t)
52
45/* 53/*
46 * The PowerPC stores certain bits of the instruction that caused the 54 * The PowerPC stores certain bits of the instruction that caused the
47 * alignment exception in the DSISR register. This array maps those 55 * alignment exception in the DSISR register. This array maps those
@@ -57,14 +65,14 @@ static struct aligninfo aligninfo[128] = {
57 { 2, LD+SE }, /* 00 0 0101: lha */ 65 { 2, LD+SE }, /* 00 0 0101: lha */
58 { 2, ST }, /* 00 0 0110: sth */ 66 { 2, ST }, /* 00 0 0110: sth */
59 { 4, LD+M }, /* 00 0 0111: lmw */ 67 { 4, LD+M }, /* 00 0 0111: lmw */
60 { 4, LD+F }, /* 00 0 1000: lfs */ 68 { 4, LD+F+S }, /* 00 0 1000: lfs */
61 { 8, LD+F }, /* 00 0 1001: lfd */ 69 { 8, LD+F }, /* 00 0 1001: lfd */
62 { 4, ST+F }, /* 00 0 1010: stfs */ 70 { 4, ST+F+S }, /* 00 0 1010: stfs */
63 { 8, ST+F }, /* 00 0 1011: stfd */ 71 { 8, ST+F }, /* 00 0 1011: stfd */
64 INVALID, /* 00 0 1100 */ 72 INVALID, /* 00 0 1100 */
65 { 8, LD }, /* 00 0 1101: ld */ 73 { 8, LD }, /* 00 0 1101: ld/ldu/lwa */
66 INVALID, /* 00 0 1110 */ 74 INVALID, /* 00 0 1110 */
67 { 8, ST }, /* 00 0 1111: std */ 75 { 8, ST }, /* 00 0 1111: std/stdu */
68 { 4, LD+U }, /* 00 1 0000: lwzu */ 76 { 4, LD+U }, /* 00 1 0000: lwzu */
69 INVALID, /* 00 1 0001 */ 77 INVALID, /* 00 1 0001 */
70 { 4, ST+U }, /* 00 1 0010: stwu */ 78 { 4, ST+U }, /* 00 1 0010: stwu */
@@ -73,9 +81,9 @@ static struct aligninfo aligninfo[128] = {
73 { 2, LD+SE+U }, /* 00 1 0101: lhau */ 81 { 2, LD+SE+U }, /* 00 1 0101: lhau */
74 { 2, ST+U }, /* 00 1 0110: sthu */ 82 { 2, ST+U }, /* 00 1 0110: sthu */
75 { 4, ST+M }, /* 00 1 0111: stmw */ 83 { 4, ST+M }, /* 00 1 0111: stmw */
76 { 4, LD+F+U }, /* 00 1 1000: lfsu */ 84 { 4, LD+F+S+U }, /* 00 1 1000: lfsu */
77 { 8, LD+F+U }, /* 00 1 1001: lfdu */ 85 { 8, LD+F+U }, /* 00 1 1001: lfdu */
78 { 4, ST+F+U }, /* 00 1 1010: stfsu */ 86 { 4, ST+F+S+U }, /* 00 1 1010: stfsu */
79 { 8, ST+F+U }, /* 00 1 1011: stfdu */ 87 { 8, ST+F+U }, /* 00 1 1011: stfdu */
80 INVALID, /* 00 1 1100 */ 88 INVALID, /* 00 1 1100 */
81 INVALID, /* 00 1 1101 */ 89 INVALID, /* 00 1 1101 */
@@ -89,10 +97,10 @@ static struct aligninfo aligninfo[128] = {
89 { 4, LD+SE }, /* 01 0 0101: lwax */ 97 { 4, LD+SE }, /* 01 0 0101: lwax */
90 INVALID, /* 01 0 0110 */ 98 INVALID, /* 01 0 0110 */
91 INVALID, /* 01 0 0111 */ 99 INVALID, /* 01 0 0111 */
92 { 0, LD }, /* 01 0 1000: lswx */ 100 { 4, LD+M+HARD+SX }, /* 01 0 1000: lswx */
93 { 0, LD }, /* 01 0 1001: lswi */ 101 { 4, LD+M+HARD }, /* 01 0 1001: lswi */
94 { 0, ST }, /* 01 0 1010: stswx */ 102 { 4, ST+M+HARD+SX }, /* 01 0 1010: stswx */
95 { 0, ST }, /* 01 0 1011: stswi */ 103 { 4, ST+M+HARD }, /* 01 0 1011: stswi */
96 INVALID, /* 01 0 1100 */ 104 INVALID, /* 01 0 1100 */
97 { 8, LD+U }, /* 01 0 1101: ldu */ 105 { 8, LD+U }, /* 01 0 1101: ldu */
98 INVALID, /* 01 0 1110 */ 106 INVALID, /* 01 0 1110 */
@@ -115,7 +123,7 @@ static struct aligninfo aligninfo[128] = {
115 INVALID, /* 01 1 1111 */ 123 INVALID, /* 01 1 1111 */
116 INVALID, /* 10 0 0000 */ 124 INVALID, /* 10 0 0000 */
117 INVALID, /* 10 0 0001 */ 125 INVALID, /* 10 0 0001 */
118 { 0, ST }, /* 10 0 0010: stwcx. */ 126 INVALID, /* 10 0 0010: stwcx. */
119 INVALID, /* 10 0 0011 */ 127 INVALID, /* 10 0 0011 */
120 INVALID, /* 10 0 0100 */ 128 INVALID, /* 10 0 0100 */
121 INVALID, /* 10 0 0101 */ 129 INVALID, /* 10 0 0101 */
@@ -144,7 +152,7 @@ static struct aligninfo aligninfo[128] = {
144 INVALID, /* 10 1 1100 */ 152 INVALID, /* 10 1 1100 */
145 INVALID, /* 10 1 1101 */ 153 INVALID, /* 10 1 1101 */
146 INVALID, /* 10 1 1110 */ 154 INVALID, /* 10 1 1110 */
147 { L1_CACHE_BYTES, ST }, /* 10 1 1111: dcbz */ 155 { 0, ST+HARD }, /* 10 1 1111: dcbz */
148 { 4, LD }, /* 11 0 0000: lwzx */ 156 { 4, LD }, /* 11 0 0000: lwzx */
149 INVALID, /* 11 0 0001 */ 157 INVALID, /* 11 0 0001 */
150 { 4, ST }, /* 11 0 0010: stwx */ 158 { 4, ST }, /* 11 0 0010: stwx */
@@ -153,9 +161,9 @@ static struct aligninfo aligninfo[128] = {
153 { 2, LD+SE }, /* 11 0 0101: lhax */ 161 { 2, LD+SE }, /* 11 0 0101: lhax */
154 { 2, ST }, /* 11 0 0110: sthx */ 162 { 2, ST }, /* 11 0 0110: sthx */
155 INVALID, /* 11 0 0111 */ 163 INVALID, /* 11 0 0111 */
156 { 4, LD+F }, /* 11 0 1000: lfsx */ 164 { 4, LD+F+S }, /* 11 0 1000: lfsx */
157 { 8, LD+F }, /* 11 0 1001: lfdx */ 165 { 8, LD+F }, /* 11 0 1001: lfdx */
158 { 4, ST+F }, /* 11 0 1010: stfsx */ 166 { 4, ST+F+S }, /* 11 0 1010: stfsx */
159 { 8, ST+F }, /* 11 0 1011: stfdx */ 167 { 8, ST+F }, /* 11 0 1011: stfdx */
160 INVALID, /* 11 0 1100 */ 168 INVALID, /* 11 0 1100 */
161 { 8, LD+M }, /* 11 0 1101: lmd */ 169 { 8, LD+M }, /* 11 0 1101: lmd */
@@ -169,9 +177,9 @@ static struct aligninfo aligninfo[128] = {
169 { 2, LD+SE+U }, /* 11 1 0101: lhaux */ 177 { 2, LD+SE+U }, /* 11 1 0101: lhaux */
170 { 2, ST+U }, /* 11 1 0110: sthux */ 178 { 2, ST+U }, /* 11 1 0110: sthux */
171 INVALID, /* 11 1 0111 */ 179 INVALID, /* 11 1 0111 */
172 { 4, LD+F+U }, /* 11 1 1000: lfsux */ 180 { 4, LD+F+S+U }, /* 11 1 1000: lfsux */
173 { 8, LD+F+U }, /* 11 1 1001: lfdux */ 181 { 8, LD+F+U }, /* 11 1 1001: lfdux */
174 { 4, ST+F+U }, /* 11 1 1010: stfsux */ 182 { 4, ST+F+S+U }, /* 11 1 1010: stfsux */
175 { 8, ST+F+U }, /* 11 1 1011: stfdux */ 183 { 8, ST+F+U }, /* 11 1 1011: stfdux */
176 INVALID, /* 11 1 1100 */ 184 INVALID, /* 11 1 1100 */
177 INVALID, /* 11 1 1101 */ 185 INVALID, /* 11 1 1101 */
@@ -179,45 +187,175 @@ static struct aligninfo aligninfo[128] = {
179 INVALID, /* 11 1 1111 */ 187 INVALID, /* 11 1 1111 */
180}; 188};
181 189
182#define SWAP(a, b) (t = (a), (a) = (b), (b) = t) 190/*
183 191 * Create a DSISR value from the instruction
192 */
184static inline unsigned make_dsisr(unsigned instr) 193static inline unsigned make_dsisr(unsigned instr)
185{ 194{
186 unsigned dsisr; 195 unsigned dsisr;
187 196
188 /* create a DSISR value from the instruction */ 197
189 dsisr = (instr & 0x03ff0000) >> 16; /* bits 6:15 --> 22:31 */ 198 /* bits 6:15 --> 22:31 */
190 199 dsisr = (instr & 0x03ff0000) >> 16;
191 if ( IS_XFORM(instr) ) { 200
192 dsisr |= (instr & 0x00000006) << 14; /* bits 29:30 --> 15:16 */ 201 if (IS_XFORM(instr)) {
193 dsisr |= (instr & 0x00000040) << 8; /* bit 25 --> 17 */ 202 /* bits 29:30 --> 15:16 */
194 dsisr |= (instr & 0x00000780) << 3; /* bits 21:24 --> 18:21 */ 203 dsisr |= (instr & 0x00000006) << 14;
204 /* bit 25 --> 17 */
205 dsisr |= (instr & 0x00000040) << 8;
206 /* bits 21:24 --> 18:21 */
207 dsisr |= (instr & 0x00000780) << 3;
208 } else {
209 /* bit 5 --> 17 */
210 dsisr |= (instr & 0x04000000) >> 12;
211 /* bits 1: 4 --> 18:21 */
212 dsisr |= (instr & 0x78000000) >> 17;
213 /* bits 30:31 --> 12:13 */
214 if (IS_DSFORM(instr))
215 dsisr |= (instr & 0x00000003) << 18;
195 } 216 }
196 else { 217
197 dsisr |= (instr & 0x04000000) >> 12; /* bit 5 --> 17 */ 218 return dsisr;
198 dsisr |= (instr & 0x78000000) >> 17; /* bits 1: 4 --> 18:21 */ 219}
199 if ( IS_DSFORM(instr) ) { 220
200 dsisr |= (instr & 0x00000003) << 18; /* bits 30:31 --> 12:13 */ 221/*
222 * The dcbz (data cache block zero) instruction
223 * gives an alignment fault if used on non-cacheable
224 * memory. We handle the fault mainly for the
225 * case when we are running with the cache disabled
226 * for debugging.
227 */
228static int emulate_dcbz(struct pt_regs *regs, unsigned char __user *addr)
229{
230 long __user *p;
231 int i, size;
232
233#ifdef __powerpc64__
234 size = ppc64_caches.dline_size;
235#else
236 size = L1_CACHE_BYTES;
237#endif
238 p = (long __user *) (regs->dar & -size);
239 if (user_mode(regs) && !access_ok(VERIFY_WRITE, p, size))
240 return -EFAULT;
241 for (i = 0; i < size / sizeof(long); ++i)
242 if (__put_user(0, p+i))
243 return -EFAULT;
244 return 1;
245}
246
247/*
248 * Emulate load & store multiple instructions
249 * On 64-bit machines, these instructions only affect/use the
250 * bottom 4 bytes of each register, and the loads clear the
251 * top 4 bytes of the affected register.
252 */
253#ifdef CONFIG_PPC64
254#define REG_BYTE(rp, i) *((u8 *)((rp) + ((i) >> 2)) + ((i) & 3) + 4)
255#else
256#define REG_BYTE(rp, i) *((u8 *)(rp) + (i))
257#endif
258
259static int emulate_multiple(struct pt_regs *regs, unsigned char __user *addr,
260 unsigned int reg, unsigned int nb,
261 unsigned int flags, unsigned int instr)
262{
263 unsigned long *rptr;
264 unsigned int nb0, i;
265
266 /*
267 * We do not try to emulate 8 bytes multiple as they aren't really
268 * available in our operating environments and we don't try to
269 * emulate multiples operations in kernel land as they should never
270 * be used/generated there at least not on unaligned boundaries
271 */
272 if (unlikely((nb > 4) || !user_mode(regs)))
273 return 0;
274
275 /* lmw, stmw, lswi/x, stswi/x */
276 nb0 = 0;
277 if (flags & HARD) {
278 if (flags & SX) {
279 nb = regs->xer & 127;
280 if (nb == 0)
281 return 1;
282 } else {
283 if (__get_user(instr,
284 (unsigned int __user *)regs->nip))
285 return -EFAULT;
286 nb = (instr >> 11) & 0x1f;
287 if (nb == 0)
288 nb = 32;
201 } 289 }
290 if (nb + reg * 4 > 128) {
291 nb0 = nb + reg * 4 - 128;
292 nb = 128 - reg * 4;
293 }
294 } else {
295 /* lwm, stmw */
296 nb = (32 - reg) * 4;
202 } 297 }
203 298
204 return dsisr; 299 if (!access_ok((flags & ST ? VERIFY_WRITE: VERIFY_READ), addr, nb+nb0))
300 return -EFAULT; /* bad address */
301
302 rptr = &regs->gpr[reg];
303 if (flags & LD) {
304 /*
305 * This zeroes the top 4 bytes of the affected registers
306 * in 64-bit mode, and also zeroes out any remaining
307 * bytes of the last register for lsw*.
308 */
309 memset(rptr, 0, ((nb + 3) / 4) * sizeof(unsigned long));
310 if (nb0 > 0)
311 memset(&regs->gpr[0], 0,
312 ((nb0 + 3) / 4) * sizeof(unsigned long));
313
314 for (i = 0; i < nb; ++i)
315 if (__get_user(REG_BYTE(rptr, i), addr + i))
316 return -EFAULT;
317 if (nb0 > 0) {
318 rptr = &regs->gpr[0];
319 addr += nb;
320 for (i = 0; i < nb0; ++i)
321 if (__get_user(REG_BYTE(rptr, i), addr + i))
322 return -EFAULT;
323 }
324
325 } else {
326 for (i = 0; i < nb; ++i)
327 if (__put_user(REG_BYTE(rptr, i), addr + i))
328 return -EFAULT;
329 if (nb0 > 0) {
330 rptr = &regs->gpr[0];
331 addr += nb;
332 for (i = 0; i < nb0; ++i)
333 if (__put_user(REG_BYTE(rptr, i), addr + i))
334 return -EFAULT;
335 }
336 }
337 return 1;
205} 338}
206 339
207int 340
208fix_alignment(struct pt_regs *regs) 341/*
342 * Called on alignment exception. Attempts to fixup
343 *
344 * Return 1 on success
345 * Return 0 if unable to handle the interrupt
346 * Return -EFAULT if data address is bad
347 */
348
349int fix_alignment(struct pt_regs *regs)
209{ 350{
210 unsigned int instr, nb, flags; 351 unsigned int instr, nb, flags;
211 int t; 352 unsigned int reg, areg;
212 unsigned long reg, areg; 353 unsigned int dsisr;
213 unsigned long i;
214 int ret;
215 unsigned dsisr;
216 unsigned char __user *addr; 354 unsigned char __user *addr;
217 unsigned char __user *p; 355 unsigned char __user *p;
218 unsigned long __user *lp; 356 int ret, t;
219 union { 357 union {
220 long ll; 358 u64 ll;
221 double dd; 359 double dd;
222 unsigned char v[8]; 360 unsigned char v[8];
223 struct { 361 struct {
@@ -231,18 +369,22 @@ fix_alignment(struct pt_regs *regs)
231 } data; 369 } data;
232 370
233 /* 371 /*
234 * Return 1 on success 372 * We require a complete register set, if not, then our assembly
235 * Return 0 if unable to handle the interrupt 373 * is broken
236 * Return -EFAULT if data address is bad
237 */ 374 */
375 CHECK_FULL_REGS(regs);
238 376
239 dsisr = regs->dsisr; 377 dsisr = regs->dsisr;
240 378
379 /* Some processors don't provide us with a DSISR we can use here,
380 * let's make one up from the instruction
381 */
241 if (cpu_has_feature(CPU_FTR_NODSISRALIGN)) { 382 if (cpu_has_feature(CPU_FTR_NODSISRALIGN)) {
242 unsigned int real_instr; 383 unsigned int real_instr;
243 if (__get_user(real_instr, (unsigned int __user *)regs->nip)) 384 if (unlikely(__get_user(real_instr,
244 return 0; 385 (unsigned int __user *)regs->nip)))
245 dsisr = make_dsisr(real_instr); 386 return -EFAULT;
387 dsisr = make_dsisr(real_instr);
246 } 388 }
247 389
248 /* extract the operation and registers from the dsisr */ 390 /* extract the operation and registers from the dsisr */
@@ -258,33 +400,37 @@ fix_alignment(struct pt_regs *regs)
258 /* DAR has the operand effective address */ 400 /* DAR has the operand effective address */
259 addr = (unsigned char __user *)regs->dar; 401 addr = (unsigned char __user *)regs->dar;
260 402
261 /* A size of 0 indicates an instruction we don't support */ 403 /* A size of 0 indicates an instruction we don't support, with
262 /* we also don't support the multiples (lmw, stmw, lmd, stmd) */ 404 * the exception of DCBZ which is handled as a special case here
263 if ((nb == 0) || (flags & M))
264 return 0; /* too hard or invalid instruction */
265
266 /*
267 * Special handling for dcbz
268 * dcbz may give an alignment exception for accesses to caching inhibited
269 * storage
270 */ 405 */
271 if (instr == DCBZ) 406 if (instr == DCBZ)
272 addr = (unsigned char __user *) ((unsigned long)addr & -L1_CACHE_BYTES); 407 return emulate_dcbz(regs, addr);
408 if (unlikely(nb == 0))
409 return 0;
410
411 /* Load/Store Multiple instructions are handled in their own
412 * function
413 */
414 if (flags & M)
415 return emulate_multiple(regs, addr, reg, nb, flags, instr);
273 416
274 /* Verify the address of the operand */ 417 /* Verify the address of the operand */
275 if (user_mode(regs)) { 418 if (unlikely(user_mode(regs) &&
276 if (!access_ok((flags & ST? VERIFY_WRITE: VERIFY_READ), addr, nb)) 419 !access_ok((flags & ST ? VERIFY_WRITE : VERIFY_READ),
277 return -EFAULT; /* bad address */ 420 addr, nb)))
278 } 421 return -EFAULT;
279 422
280 /* Force the fprs into the save area so we can reference them */ 423 /* Force the fprs into the save area so we can reference them */
281 if (flags & F) { 424 if (flags & F) {
282 if (!user_mode(regs)) 425 /* userland only */
426 if (unlikely(!user_mode(regs)))
283 return 0; 427 return 0;
284 flush_fp_to_thread(current); 428 flush_fp_to_thread(current);
285 } 429 }
286 430
287 /* If we are loading, get the data from user space */ 431 /* If we are loading, get the data from user space, else
432 * get it from register values
433 */
288 if (flags & LD) { 434 if (flags & LD) {
289 data.ll = 0; 435 data.ll = 0;
290 ret = 0; 436 ret = 0;
@@ -301,75 +447,62 @@ fix_alignment(struct pt_regs *regs)
301 case 2: 447 case 2:
302 ret |= __get_user(data.v[6], p++); 448 ret |= __get_user(data.v[6], p++);
303 ret |= __get_user(data.v[7], p++); 449 ret |= __get_user(data.v[7], p++);
304 if (ret) 450 if (unlikely(ret))
305 return -EFAULT; 451 return -EFAULT;
306 } 452 }
307 } 453 } else if (flags & F)
308 454 data.dd = current->thread.fpr[reg];
309 /* If we are storing, get the data from the saved gpr or fpr */ 455 else
310 if (flags & ST) { 456 data.ll = regs->gpr[reg];
311 if (flags & F) { 457
312 if (nb == 4) { 458 /* Perform other misc operations like sign extension, byteswap,
313 /* Doing stfs, have to convert to single */ 459 * or floating point single precision conversion
314 preempt_disable(); 460 */
315 enable_kernel_fp(); 461 switch (flags & ~U) {
316 cvt_df(&current->thread.fpr[reg], (float *)&data.v[4], &current->thread); 462 case LD+SE: /* sign extend */
317 disable_kernel_fp();
318 preempt_enable();
319 }
320 else
321 data.dd = current->thread.fpr[reg];
322 }
323 else
324 data.ll = regs->gpr[reg];
325 }
326
327 /* Swap bytes as needed */
328 if (flags & SW) {
329 if (nb == 2)
330 SWAP(data.v[6], data.v[7]);
331 else { /* nb must be 4 */
332 SWAP(data.v[4], data.v[7]);
333 SWAP(data.v[5], data.v[6]);
334 }
335 }
336
337 /* Sign extend as needed */
338 if (flags & SE) {
339 if ( nb == 2 ) 463 if ( nb == 2 )
340 data.ll = data.x16.low16; 464 data.ll = data.x16.low16;
341 else /* nb must be 4 */ 465 else /* nb must be 4 */
342 data.ll = data.x32.low32; 466 data.ll = data.x32.low32;
343 } 467 break;
344 468 case LD+S: /* byte-swap */
345 /* If we are loading, move the data to the gpr or fpr */ 469 case ST+S:
346 if (flags & LD) { 470 if (nb == 2) {
347 if (flags & F) { 471 SWAP(data.v[6], data.v[7]);
348 if (nb == 4) { 472 } else {
349 /* Doing lfs, have to convert to double */ 473 SWAP(data.v[4], data.v[7]);
350 preempt_disable(); 474 SWAP(data.v[5], data.v[6]);
351 enable_kernel_fp();
352 cvt_fd((float *)&data.v[4], &current->thread.fpr[reg], &current->thread);
353 disable_kernel_fp();
354 preempt_enable();
355 }
356 else
357 current->thread.fpr[reg] = data.dd;
358 } 475 }
359 else 476 break;
360 regs->gpr[reg] = data.ll; 477
478 /* Single-precision FP load and store require conversions... */
479 case LD+F+S:
480#ifdef CONFIG_PPC_FPU
481 preempt_disable();
482 enable_kernel_fp();
483 cvt_fd((float *)&data.v[4], &data.dd, &current->thread);
484 preempt_enable();
485#else
486 return 0;
487#endif
488 break;
489 case ST+F+S:
490#ifdef CONFIG_PPC_FPU
491 preempt_disable();
492 enable_kernel_fp();
493 cvt_df(&data.dd, (float *)&data.v[4], &current->thread);
494 preempt_enable();
495#else
496 return 0;
497#endif
498 break;
361 } 499 }
362 500
363 /* If we are storing, copy the data to the user */ 501 /* Store result to memory or update registers */
364 if (flags & ST) { 502 if (flags & ST) {
365 ret = 0; 503 ret = 0;
366 p = addr; 504 p = addr;
367 switch (nb) { 505 switch (nb) {
368 case 128: /* Special case - must be dcbz */
369 lp = (unsigned long __user *)p;
370 for (i = 0; i < L1_CACHE_BYTES / sizeof(long); ++i)
371 ret |= __put_user(0, lp++);
372 break;
373 case 8: 506 case 8:
374 ret |= __put_user(data.v[0], p++); 507 ret |= __put_user(data.v[0], p++);
375 ret |= __put_user(data.v[1], p++); 508 ret |= __put_user(data.v[1], p++);
@@ -382,15 +515,16 @@ fix_alignment(struct pt_regs *regs)
382 ret |= __put_user(data.v[6], p++); 515 ret |= __put_user(data.v[6], p++);
383 ret |= __put_user(data.v[7], p++); 516 ret |= __put_user(data.v[7], p++);
384 } 517 }
385 if (ret) 518 if (unlikely(ret))
386 return -EFAULT; 519 return -EFAULT;
387 } 520 } else if (flags & F)
388 521 current->thread.fpr[reg] = data.dd;
522 else
523 regs->gpr[reg] = data.ll;
524
389 /* Update RA as needed */ 525 /* Update RA as needed */
390 if (flags & U) { 526 if (flags & U)
391 regs->gpr[areg] = regs->dar; 527 regs->gpr[areg] = regs->dar;
392 }
393 528
394 return 1; 529 return 1;
395} 530}
396
diff --git a/arch/ppc64/kernel/idle.c b/arch/powerpc/kernel/idle_64.c
index b879d3057ef8..b879d3057ef8 100644
--- a/arch/ppc64/kernel/idle.c
+++ b/arch/powerpc/kernel/idle_64.c
diff --git a/arch/powerpc/kernel/misc_32.S b/arch/powerpc/kernel/misc_32.S
index f6d84a75ed26..624a983a9676 100644
--- a/arch/powerpc/kernel/misc_32.S
+++ b/arch/powerpc/kernel/misc_32.S
@@ -27,14 +27,6 @@
27 27
28 .text 28 .text
29 29
30 .align 5
31_GLOBAL(__delay)
32 cmpwi 0,r3,0
33 mtctr r3
34 beqlr
351: bdnz 1b
36 blr
37
38/* 30/*
39 * This returns the high 64 bits of the product of two 64-bit numbers. 31 * This returns the high 64 bits of the product of two 64-bit numbers.
40 */ 32 */
diff --git a/arch/ppc64/kernel/nvram.c b/arch/powerpc/kernel/nvram_64.c
index c0fcd29918ce..c0fcd29918ce 100644
--- a/arch/ppc64/kernel/nvram.c
+++ b/arch/powerpc/kernel/nvram_64.c
diff --git a/arch/powerpc/kernel/rtas-rtc.c b/arch/powerpc/kernel/rtas-rtc.c
index 7b948662704c..635d3b9a8811 100644
--- a/arch/powerpc/kernel/rtas-rtc.c
+++ b/arch/powerpc/kernel/rtas-rtc.c
@@ -15,7 +15,7 @@ unsigned long __init rtas_get_boot_time(void)
15{ 15{
16 int ret[8]; 16 int ret[8];
17 int error, wait_time; 17 int error, wait_time;
18 unsigned long max_wait_tb; 18 u64 max_wait_tb;
19 19
20 max_wait_tb = get_tb() + tb_ticks_per_usec * 1000 * MAX_RTC_WAIT; 20 max_wait_tb = get_tb() + tb_ticks_per_usec * 1000 * MAX_RTC_WAIT;
21 do { 21 do {
@@ -45,7 +45,7 @@ void rtas_get_rtc_time(struct rtc_time *rtc_tm)
45{ 45{
46 int ret[8]; 46 int ret[8];
47 int error, wait_time; 47 int error, wait_time;
48 unsigned long max_wait_tb; 48 u64 max_wait_tb;
49 49
50 max_wait_tb = get_tb() + tb_ticks_per_usec * 1000 * MAX_RTC_WAIT; 50 max_wait_tb = get_tb() + tb_ticks_per_usec * 1000 * MAX_RTC_WAIT;
51 do { 51 do {
@@ -80,7 +80,7 @@ void rtas_get_rtc_time(struct rtc_time *rtc_tm)
80int rtas_set_rtc_time(struct rtc_time *tm) 80int rtas_set_rtc_time(struct rtc_time *tm)
81{ 81{
82 int error, wait_time; 82 int error, wait_time;
83 unsigned long max_wait_tb; 83 u64 max_wait_tb;
84 84
85 max_wait_tb = get_tb() + tb_ticks_per_usec * 1000 * MAX_RTC_WAIT; 85 max_wait_tb = get_tb() + tb_ticks_per_usec * 1000 * MAX_RTC_WAIT;
86 do { 86 do {
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
index 070b4b458aaf..de8479769bb7 100644
--- a/arch/powerpc/kernel/time.c
+++ b/arch/powerpc/kernel/time.c
@@ -130,6 +130,34 @@ unsigned long tb_last_stamp;
130 */ 130 */
131DEFINE_PER_CPU(unsigned long, last_jiffy); 131DEFINE_PER_CPU(unsigned long, last_jiffy);
132 132
133void __delay(unsigned long loops)
134{
135 unsigned long start;
136 int diff;
137
138 if (__USE_RTC()) {
139 start = get_rtcl();
140 do {
141 /* the RTCL register wraps at 1000000000 */
142 diff = get_rtcl() - start;
143 if (diff < 0)
144 diff += 1000000000;
145 } while (diff < loops);
146 } else {
147 start = get_tbl();
148 while (get_tbl() - start < loops)
149 HMT_low();
150 HMT_medium();
151 }
152}
153EXPORT_SYMBOL(__delay);
154
155void udelay(unsigned long usecs)
156{
157 __delay(tb_ticks_per_usec * usecs);
158}
159EXPORT_SYMBOL(udelay);
160
133static __inline__ void timer_check_rtc(void) 161static __inline__ void timer_check_rtc(void)
134{ 162{
135 /* 163 /*
diff --git a/arch/powerpc/platforms/chrp/setup.c b/arch/powerpc/platforms/chrp/setup.c
index 4099ddab9205..dda5f2c72c25 100644
--- a/arch/powerpc/platforms/chrp/setup.c
+++ b/arch/powerpc/platforms/chrp/setup.c
@@ -257,6 +257,13 @@ void __init chrp_setup_arch(void)
257 if (rtas_token("display-character") >= 0) 257 if (rtas_token("display-character") >= 0)
258 ppc_md.progress = rtas_progress; 258 ppc_md.progress = rtas_progress;
259 259
260 /* use RTAS time-of-day routines if available */
261 if (rtas_token("get-time-of-day") != RTAS_UNKNOWN_SERVICE) {
262 ppc_md.get_boot_time = rtas_get_boot_time;
263 ppc_md.get_rtc_time = rtas_get_rtc_time;
264 ppc_md.set_rtc_time = rtas_set_rtc_time;
265 }
266
260#ifdef CONFIG_BOOTX_TEXT 267#ifdef CONFIG_BOOTX_TEXT
261 if (ppc_md.progress == NULL && boot_text_mapped) 268 if (ppc_md.progress == NULL && boot_text_mapped)
262 ppc_md.progress = btext_progress; 269 ppc_md.progress = btext_progress;
@@ -505,9 +512,11 @@ void __init chrp_init(void)
505 ppc_md.halt = rtas_halt; 512 ppc_md.halt = rtas_halt;
506 513
507 ppc_md.time_init = chrp_time_init; 514 ppc_md.time_init = chrp_time_init;
515 ppc_md.calibrate_decr = chrp_calibrate_decr;
516
517 /* this may get overridden with rtas routines later... */
508 ppc_md.set_rtc_time = chrp_set_rtc_time; 518 ppc_md.set_rtc_time = chrp_set_rtc_time;
509 ppc_md.get_rtc_time = chrp_get_rtc_time; 519 ppc_md.get_rtc_time = chrp_get_rtc_time;
510 ppc_md.calibrate_decr = chrp_calibrate_decr;
511 520
512#ifdef CONFIG_SMP 521#ifdef CONFIG_SMP
513 smp_ops = &chrp_smp_ops; 522 smp_ops = &chrp_smp_ops;
diff --git a/arch/powerpc/platforms/chrp/smp.c b/arch/powerpc/platforms/chrp/smp.c
index bb2315997d45..b616053bc331 100644
--- a/arch/powerpc/platforms/chrp/smp.c
+++ b/arch/powerpc/platforms/chrp/smp.c
@@ -34,6 +34,7 @@
34#include <asm/machdep.h> 34#include <asm/machdep.h>
35#include <asm/smp.h> 35#include <asm/smp.h>
36#include <asm/mpic.h> 36#include <asm/mpic.h>
37#include <asm/rtas.h>
37 38
38static void __devinit smp_chrp_kick_cpu(int nr) 39static void __devinit smp_chrp_kick_cpu(int nr)
39{ 40{
diff --git a/arch/powerpc/platforms/chrp/time.c b/arch/powerpc/platforms/chrp/time.c
index 9e53535ddb82..737ee5d9f0aa 100644
--- a/arch/powerpc/platforms/chrp/time.c
+++ b/arch/powerpc/platforms/chrp/time.c
@@ -87,7 +87,6 @@ int chrp_set_rtc_time(struct rtc_time *tmarg)
87 87
88 chrp_cmos_clock_write((save_freq_select|RTC_DIV_RESET2), RTC_FREQ_SELECT); 88 chrp_cmos_clock_write((save_freq_select|RTC_DIV_RESET2), RTC_FREQ_SELECT);
89 89
90 tm.tm_year -= 1900;
91 if (!(save_control & RTC_DM_BINARY) || RTC_ALWAYS_BCD) { 90 if (!(save_control & RTC_DM_BINARY) || RTC_ALWAYS_BCD) {
92 BIN_TO_BCD(tm.tm_sec); 91 BIN_TO_BCD(tm.tm_sec);
93 BIN_TO_BCD(tm.tm_min); 92 BIN_TO_BCD(tm.tm_min);
@@ -156,7 +155,7 @@ void chrp_get_rtc_time(struct rtc_time *tm)
156 BCD_TO_BIN(mon); 155 BCD_TO_BIN(mon);
157 BCD_TO_BIN(year); 156 BCD_TO_BIN(year);
158 } 157 }
159 if ((year += 1900) < 1970) 158 if (year < 70)
160 year += 100; 159 year += 100;
161 tm->tm_sec = sec; 160 tm->tm_sec = sec;
162 tm->tm_min = min; 161 tm->tm_min = min;
diff --git a/arch/powerpc/platforms/maple/time.c b/arch/powerpc/platforms/maple/time.c
index 40fc07a8e606..15846cc938ac 100644
--- a/arch/powerpc/platforms/maple/time.c
+++ b/arch/powerpc/platforms/maple/time.c
@@ -158,6 +158,11 @@ int maple_set_rtc_time(struct rtc_time *tm)
158 return 0; 158 return 0;
159} 159}
160 160
161static struct resource rtc_iores = {
162 .name = "rtc",
163 .flags = IORESOURCE_BUSY,
164};
165
161unsigned long __init maple_get_boot_time(void) 166unsigned long __init maple_get_boot_time(void)
162{ 167{
163 struct rtc_time tm; 168 struct rtc_time tm;
@@ -172,7 +177,11 @@ unsigned long __init maple_get_boot_time(void)
172 printk(KERN_INFO "Maple: No device node for RTC, assuming " 177 printk(KERN_INFO "Maple: No device node for RTC, assuming "
173 "legacy address (0x%x)\n", maple_rtc_addr); 178 "legacy address (0x%x)\n", maple_rtc_addr);
174 } 179 }
175 180
181 rtc_iores.start = maple_rtc_addr;
182 rtc_iores.end = maple_rtc_addr + 7;
183 request_resource(&ioport_resource, &rtc_iores);
184
176 maple_get_rtc_time(&tm); 185 maple_get_rtc_time(&tm);
177 return mktime(tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday, 186 return mktime(tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday,
178 tm.tm_hour, tm.tm_min, tm.tm_sec); 187 tm.tm_hour, tm.tm_min, tm.tm_sec);
diff --git a/arch/powerpc/platforms/pseries/eeh.c b/arch/powerpc/platforms/pseries/eeh.c
index 79de2310e70b..c8d2a40dc5b4 100644
--- a/arch/powerpc/platforms/pseries/eeh.c
+++ b/arch/powerpc/platforms/pseries/eeh.c
@@ -86,7 +86,8 @@ static int ibm_read_slot_reset_state;
86static int ibm_read_slot_reset_state2; 86static int ibm_read_slot_reset_state2;
87static int ibm_slot_error_detail; 87static int ibm_slot_error_detail;
88 88
89static int eeh_subsystem_enabled; 89int eeh_subsystem_enabled;
90EXPORT_SYMBOL(eeh_subsystem_enabled);
90 91
91/* Lock to avoid races due to multiple reports of an error */ 92/* Lock to avoid races due to multiple reports of an error */
92static DEFINE_SPINLOCK(confirm_error_lock); 93static DEFINE_SPINLOCK(confirm_error_lock);
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
index b9d9732b2e06..4a465f067ede 100644
--- a/arch/powerpc/platforms/pseries/setup.c
+++ b/arch/powerpc/platforms/pseries/setup.c
@@ -504,7 +504,7 @@ static void pseries_dedicated_idle(void)
504 lpaca->lppaca.idle = 1; 504 lpaca->lppaca.idle = 1;
505 505
506 if (!need_resched()) { 506 if (!need_resched()) {
507 start_snooze = __get_tb() + 507 start_snooze = get_tb() +
508 *smt_snooze_delay * tb_ticks_per_usec; 508 *smt_snooze_delay * tb_ticks_per_usec;
509 509
510 while (!need_resched() && !cpu_is_offline(cpu)) { 510 while (!need_resched() && !cpu_is_offline(cpu)) {
@@ -518,7 +518,7 @@ static void pseries_dedicated_idle(void)
518 HMT_very_low(); 518 HMT_very_low();
519 519
520 if (*smt_snooze_delay != 0 && 520 if (*smt_snooze_delay != 0 &&
521 __get_tb() > start_snooze) { 521 get_tb() > start_snooze) {
522 HMT_medium(); 522 HMT_medium();
523 dedicated_idle_sleep(cpu); 523 dedicated_idle_sleep(cpu);
524 } 524 }
diff --git a/arch/ppc/kernel/Makefile b/arch/ppc/kernel/Makefile
index 17a4da65e275..0bb23fce4293 100644
--- a/arch/ppc/kernel/Makefile
+++ b/arch/ppc/kernel/Makefile
@@ -13,7 +13,7 @@ extra-$(CONFIG_POWER4) += idle_power4.o
13extra-y += vmlinux.lds 13extra-y += vmlinux.lds
14 14
15obj-y := entry.o traps.o idle.o time.o misc.o \ 15obj-y := entry.o traps.o idle.o time.o misc.o \
16 process.o align.o \ 16 process.o \
17 setup.o \ 17 setup.o \
18 ppc_htab.o 18 ppc_htab.o
19obj-$(CONFIG_6xx) += l2cr.o cpu_setup_6xx.o 19obj-$(CONFIG_6xx) += l2cr.o cpu_setup_6xx.o
@@ -38,7 +38,7 @@ endif
38# These are here while we do the architecture merge 38# These are here while we do the architecture merge
39 39
40else 40else
41obj-y := idle.o align.o 41obj-y := idle.o
42obj-$(CONFIG_6xx) += l2cr.o cpu_setup_6xx.o 42obj-$(CONFIG_6xx) += l2cr.o cpu_setup_6xx.o
43obj-$(CONFIG_SOFTWARE_SUSPEND) += swsusp.o 43obj-$(CONFIG_SOFTWARE_SUSPEND) += swsusp.o
44obj-$(CONFIG_MODULES) += module.o 44obj-$(CONFIG_MODULES) += module.o
diff --git a/arch/ppc/kernel/align.c b/arch/ppc/kernel/align.c
deleted file mode 100644
index ab398c4b70b6..000000000000
--- a/arch/ppc/kernel/align.c
+++ /dev/null
@@ -1,410 +0,0 @@
1/*
2 * align.c - handle alignment exceptions for the Power PC.
3 *
4 * Copyright (c) 1996 Paul Mackerras <paulus@cs.anu.edu.au>
5 * Copyright (c) 1998-1999 TiVo, Inc.
6 * PowerPC 403GCX modifications.
7 * Copyright (c) 1999 Grant Erickson <grant@lcse.umn.edu>
8 * PowerPC 403GCX/405GP modifications.
9 */
10#include <linux/config.h>
11#include <linux/kernel.h>
12#include <linux/mm.h>
13#include <asm/ptrace.h>
14#include <asm/processor.h>
15#include <asm/uaccess.h>
16#include <asm/system.h>
17#include <asm/cache.h>
18
19struct aligninfo {
20 unsigned char len;
21 unsigned char flags;
22};
23
24#if defined(CONFIG_4xx) || defined(CONFIG_POWER4) || defined(CONFIG_BOOKE)
25#define OPCD(inst) (((inst) & 0xFC000000) >> 26)
26#define RS(inst) (((inst) & 0x03E00000) >> 21)
27#define RA(inst) (((inst) & 0x001F0000) >> 16)
28#define IS_XFORM(code) ((code) == 31)
29#endif
30
31#define INVALID { 0, 0 }
32
33#define LD 1 /* load */
34#define ST 2 /* store */
35#define SE 4 /* sign-extend value */
36#define F 8 /* to/from fp regs */
37#define U 0x10 /* update index register */
38#define M 0x20 /* multiple load/store */
39#define S 0x40 /* single-precision fp, or byte-swap value */
40#define SX 0x40 /* byte count in XER */
41#define HARD 0x80 /* string, stwcx. */
42
43#define DCBZ 0x5f /* 8xx/82xx dcbz faults when cache not enabled */
44
45/*
46 * The PowerPC stores certain bits of the instruction that caused the
47 * alignment exception in the DSISR register. This array maps those
48 * bits to information about the operand length and what the
49 * instruction would do.
50 */
51static struct aligninfo aligninfo[128] = {
52 { 4, LD }, /* 00 0 0000: lwz / lwarx */
53 INVALID, /* 00 0 0001 */
54 { 4, ST }, /* 00 0 0010: stw */
55 INVALID, /* 00 0 0011 */
56 { 2, LD }, /* 00 0 0100: lhz */
57 { 2, LD+SE }, /* 00 0 0101: lha */
58 { 2, ST }, /* 00 0 0110: sth */
59 { 4, LD+M }, /* 00 0 0111: lmw */
60 { 4, LD+F+S }, /* 00 0 1000: lfs */
61 { 8, LD+F }, /* 00 0 1001: lfd */
62 { 4, ST+F+S }, /* 00 0 1010: stfs */
63 { 8, ST+F }, /* 00 0 1011: stfd */
64 INVALID, /* 00 0 1100 */
65 INVALID, /* 00 0 1101: ld/ldu/lwa */
66 INVALID, /* 00 0 1110 */
67 INVALID, /* 00 0 1111: std/stdu */
68 { 4, LD+U }, /* 00 1 0000: lwzu */
69 INVALID, /* 00 1 0001 */
70 { 4, ST+U }, /* 00 1 0010: stwu */
71 INVALID, /* 00 1 0011 */
72 { 2, LD+U }, /* 00 1 0100: lhzu */
73 { 2, LD+SE+U }, /* 00 1 0101: lhau */
74 { 2, ST+U }, /* 00 1 0110: sthu */
75 { 4, ST+M }, /* 00 1 0111: stmw */
76 { 4, LD+F+S+U }, /* 00 1 1000: lfsu */
77 { 8, LD+F+U }, /* 00 1 1001: lfdu */
78 { 4, ST+F+S+U }, /* 00 1 1010: stfsu */
79 { 8, ST+F+U }, /* 00 1 1011: stfdu */
80 INVALID, /* 00 1 1100 */
81 INVALID, /* 00 1 1101 */
82 INVALID, /* 00 1 1110 */
83 INVALID, /* 00 1 1111 */
84 INVALID, /* 01 0 0000: ldx */
85 INVALID, /* 01 0 0001 */
86 INVALID, /* 01 0 0010: stdx */
87 INVALID, /* 01 0 0011 */
88 INVALID, /* 01 0 0100 */
89 INVALID, /* 01 0 0101: lwax */
90 INVALID, /* 01 0 0110 */
91 INVALID, /* 01 0 0111 */
92 { 4, LD+M+HARD+SX }, /* 01 0 1000: lswx */
93 { 4, LD+M+HARD }, /* 01 0 1001: lswi */
94 { 4, ST+M+HARD+SX }, /* 01 0 1010: stswx */
95 { 4, ST+M+HARD }, /* 01 0 1011: stswi */
96 INVALID, /* 01 0 1100 */
97 INVALID, /* 01 0 1101 */
98 INVALID, /* 01 0 1110 */
99 INVALID, /* 01 0 1111 */
100 INVALID, /* 01 1 0000: ldux */
101 INVALID, /* 01 1 0001 */
102 INVALID, /* 01 1 0010: stdux */
103 INVALID, /* 01 1 0011 */
104 INVALID, /* 01 1 0100 */
105 INVALID, /* 01 1 0101: lwaux */
106 INVALID, /* 01 1 0110 */
107 INVALID, /* 01 1 0111 */
108 INVALID, /* 01 1 1000 */
109 INVALID, /* 01 1 1001 */
110 INVALID, /* 01 1 1010 */
111 INVALID, /* 01 1 1011 */
112 INVALID, /* 01 1 1100 */
113 INVALID, /* 01 1 1101 */
114 INVALID, /* 01 1 1110 */
115 INVALID, /* 01 1 1111 */
116 INVALID, /* 10 0 0000 */
117 INVALID, /* 10 0 0001 */
118 { 0, ST+HARD }, /* 10 0 0010: stwcx. */
119 INVALID, /* 10 0 0011 */
120 INVALID, /* 10 0 0100 */
121 INVALID, /* 10 0 0101 */
122 INVALID, /* 10 0 0110 */
123 INVALID, /* 10 0 0111 */
124 { 4, LD+S }, /* 10 0 1000: lwbrx */
125 INVALID, /* 10 0 1001 */
126 { 4, ST+S }, /* 10 0 1010: stwbrx */
127 INVALID, /* 10 0 1011 */
128 { 2, LD+S }, /* 10 0 1100: lhbrx */
129 INVALID, /* 10 0 1101 */
130 { 2, ST+S }, /* 10 0 1110: sthbrx */
131 INVALID, /* 10 0 1111 */
132 INVALID, /* 10 1 0000 */
133 INVALID, /* 10 1 0001 */
134 INVALID, /* 10 1 0010 */
135 INVALID, /* 10 1 0011 */
136 INVALID, /* 10 1 0100 */
137 INVALID, /* 10 1 0101 */
138 INVALID, /* 10 1 0110 */
139 INVALID, /* 10 1 0111 */
140 INVALID, /* 10 1 1000 */
141 INVALID, /* 10 1 1001 */
142 INVALID, /* 10 1 1010 */
143 INVALID, /* 10 1 1011 */
144 INVALID, /* 10 1 1100 */
145 INVALID, /* 10 1 1101 */
146 INVALID, /* 10 1 1110 */
147 { 0, ST+HARD }, /* 10 1 1111: dcbz */
148 { 4, LD }, /* 11 0 0000: lwzx */
149 INVALID, /* 11 0 0001 */
150 { 4, ST }, /* 11 0 0010: stwx */
151 INVALID, /* 11 0 0011 */
152 { 2, LD }, /* 11 0 0100: lhzx */
153 { 2, LD+SE }, /* 11 0 0101: lhax */
154 { 2, ST }, /* 11 0 0110: sthx */
155 INVALID, /* 11 0 0111 */
156 { 4, LD+F+S }, /* 11 0 1000: lfsx */
157 { 8, LD+F }, /* 11 0 1001: lfdx */
158 { 4, ST+F+S }, /* 11 0 1010: stfsx */
159 { 8, ST+F }, /* 11 0 1011: stfdx */
160 INVALID, /* 11 0 1100 */
161 INVALID, /* 11 0 1101: lmd */
162 INVALID, /* 11 0 1110 */
163 INVALID, /* 11 0 1111: stmd */
164 { 4, LD+U }, /* 11 1 0000: lwzux */
165 INVALID, /* 11 1 0001 */
166 { 4, ST+U }, /* 11 1 0010: stwux */
167 INVALID, /* 11 1 0011 */
168 { 2, LD+U }, /* 11 1 0100: lhzux */
169 { 2, LD+SE+U }, /* 11 1 0101: lhaux */
170 { 2, ST+U }, /* 11 1 0110: sthux */
171 INVALID, /* 11 1 0111 */
172 { 4, LD+F+S+U }, /* 11 1 1000: lfsux */
173 { 8, LD+F+U }, /* 11 1 1001: lfdux */
174 { 4, ST+F+S+U }, /* 11 1 1010: stfsux */
175 { 8, ST+F+U }, /* 11 1 1011: stfdux */
176 INVALID, /* 11 1 1100 */
177 INVALID, /* 11 1 1101 */
178 INVALID, /* 11 1 1110 */
179 INVALID, /* 11 1 1111 */
180};
181
182#define SWAP(a, b) (t = (a), (a) = (b), (b) = t)
183
184int
185fix_alignment(struct pt_regs *regs)
186{
187 int instr, nb, flags;
188#if defined(CONFIG_4xx) || defined(CONFIG_POWER4) || defined(CONFIG_BOOKE)
189 int opcode, f1, f2, f3;
190#endif
191 int i, t;
192 int reg, areg;
193 int offset, nb0;
194 unsigned char __user *addr;
195 unsigned char *rptr;
196 union {
197 long l;
198 float f;
199 double d;
200 unsigned char v[8];
201 } data;
202
203 CHECK_FULL_REGS(regs);
204
205#if defined(CONFIG_4xx) || defined(CONFIG_POWER4) || defined(CONFIG_BOOKE)
206 /* The 4xx-family & Book-E processors have no DSISR register,
207 * so we emulate it.
208 * The POWER4 has a DSISR register but doesn't set it on
209 * an alignment fault. -- paulus
210 */
211
212 if (__get_user(instr, (unsigned int __user *) regs->nip))
213 return 0;
214 opcode = OPCD(instr);
215 reg = RS(instr);
216 areg = RA(instr);
217
218 if (!IS_XFORM(opcode)) {
219 f1 = 0;
220 f2 = (instr & 0x04000000) >> 26;
221 f3 = (instr & 0x78000000) >> 27;
222 } else {
223 f1 = (instr & 0x00000006) >> 1;
224 f2 = (instr & 0x00000040) >> 6;
225 f3 = (instr & 0x00000780) >> 7;
226 }
227
228 instr = ((f1 << 5) | (f2 << 4) | f3);
229#else
230 reg = (regs->dsisr >> 5) & 0x1f; /* source/dest register */
231 areg = regs->dsisr & 0x1f; /* register to update */
232 instr = (regs->dsisr >> 10) & 0x7f;
233#endif
234
235 nb = aligninfo[instr].len;
236 if (nb == 0) {
237 long __user *p;
238 int i;
239
240 if (instr != DCBZ)
241 return 0; /* too hard or invalid instruction */
242 /*
243 * The dcbz (data cache block zero) instruction
244 * gives an alignment fault if used on non-cacheable
245 * memory. We handle the fault mainly for the
246 * case when we are running with the cache disabled
247 * for debugging.
248 */
249 p = (long __user *) (regs->dar & -L1_CACHE_BYTES);
250 if (user_mode(regs)
251 && !access_ok(VERIFY_WRITE, p, L1_CACHE_BYTES))
252 return -EFAULT;
253 for (i = 0; i < L1_CACHE_BYTES / sizeof(long); ++i)
254 if (__put_user(0, p+i))
255 return -EFAULT;
256 return 1;
257 }
258
259 flags = aligninfo[instr].flags;
260 if ((flags & (LD|ST)) == 0)
261 return 0;
262
263 /* For the 4xx-family & Book-E processors, the 'dar' field of the
264 * pt_regs structure is overloaded and is really from the DEAR.
265 */
266
267 addr = (unsigned char __user *)regs->dar;
268
269 if (flags & M) {
270 /* lmw, stmw, lswi/x, stswi/x */
271 nb0 = 0;
272 if (flags & HARD) {
273 if (flags & SX) {
274 nb = regs->xer & 127;
275 if (nb == 0)
276 return 1;
277 } else {
278 if (__get_user(instr,
279 (unsigned int __user *)regs->nip))
280 return 0;
281 nb = (instr >> 11) & 0x1f;
282 if (nb == 0)
283 nb = 32;
284 }
285 if (nb + reg * 4 > 128) {
286 nb0 = nb + reg * 4 - 128;
287 nb = 128 - reg * 4;
288 }
289 } else {
290 /* lwm, stmw */
291 nb = (32 - reg) * 4;
292 }
293
294 if (!access_ok((flags & ST? VERIFY_WRITE: VERIFY_READ), addr, nb+nb0))
295 return -EFAULT; /* bad address */
296
297 rptr = (unsigned char *) &regs->gpr[reg];
298 if (flags & LD) {
299 for (i = 0; i < nb; ++i)
300 if (__get_user(rptr[i], addr+i))
301 return -EFAULT;
302 if (nb0 > 0) {
303 rptr = (unsigned char *) &regs->gpr[0];
304 addr += nb;
305 for (i = 0; i < nb0; ++i)
306 if (__get_user(rptr[i], addr+i))
307 return -EFAULT;
308 }
309 for (; (i & 3) != 0; ++i)
310 rptr[i] = 0;
311 } else {
312 for (i = 0; i < nb; ++i)
313 if (__put_user(rptr[i], addr+i))
314 return -EFAULT;
315 if (nb0 > 0) {
316 rptr = (unsigned char *) &regs->gpr[0];
317 addr += nb;
318 for (i = 0; i < nb0; ++i)
319 if (__put_user(rptr[i], addr+i))
320 return -EFAULT;
321 }
322 }
323 return 1;
324 }
325
326 offset = 0;
327 if (nb < 4) {
328 /* read/write the least significant bits */
329 data.l = 0;
330 offset = 4 - nb;
331 }
332
333 /* Verify the address of the operand */
334 if (user_mode(regs)) {
335 if (!access_ok((flags & ST? VERIFY_WRITE: VERIFY_READ), addr, nb))
336 return -EFAULT; /* bad address */
337 }
338
339 if (flags & F) {
340 preempt_disable();
341 if (regs->msr & MSR_FP)
342 giveup_fpu(current);
343 preempt_enable();
344 }
345
346 /* If we read the operand, copy it in, else get register values */
347 if (flags & LD) {
348 for (i = 0; i < nb; ++i)
349 if (__get_user(data.v[offset+i], addr+i))
350 return -EFAULT;
351 } else if (flags & F) {
352 data.d = current->thread.fpr[reg];
353 } else {
354 data.l = regs->gpr[reg];
355 }
356
357 switch (flags & ~U) {
358 case LD+SE: /* sign extend */
359 if (data.v[2] >= 0x80)
360 data.v[0] = data.v[1] = -1;
361 break;
362
363 case LD+S: /* byte-swap */
364 case ST+S:
365 if (nb == 2) {
366 SWAP(data.v[2], data.v[3]);
367 } else {
368 SWAP(data.v[0], data.v[3]);
369 SWAP(data.v[1], data.v[2]);
370 }
371 break;
372
373 /* Single-precision FP load and store require conversions... */
374 case LD+F+S:
375#ifdef CONFIG_PPC_FPU
376 preempt_disable();
377 enable_kernel_fp();
378 cvt_fd(&data.f, &data.d, &current->thread);
379 preempt_enable();
380#else
381 return 0;
382#endif
383 break;
384 case ST+F+S:
385#ifdef CONFIG_PPC_FPU
386 preempt_disable();
387 enable_kernel_fp();
388 cvt_df(&data.d, &data.f, &current->thread);
389 preempt_enable();
390#else
391 return 0;
392#endif
393 break;
394 }
395
396 if (flags & ST) {
397 for (i = 0; i < nb; ++i)
398 if (__put_user(data.v[offset+i], addr+i))
399 return -EFAULT;
400 } else if (flags & F) {
401 current->thread.fpr[reg] = data.d;
402 } else {
403 regs->gpr[reg] = data.l;
404 }
405
406 if (flags & U)
407 regs->gpr[areg] = regs->dar;
408
409 return 1;
410}
diff --git a/arch/ppc/kernel/pci.c b/arch/ppc/kernel/pci.c
index 48ed58f995c0..f7fae5f153b2 100644
--- a/arch/ppc/kernel/pci.c
+++ b/arch/ppc/kernel/pci.c
@@ -45,7 +45,6 @@ static void update_bridge_base(struct pci_bus *bus, int i);
45static void pcibios_fixup_resources(struct pci_dev* dev); 45static void pcibios_fixup_resources(struct pci_dev* dev);
46static void fixup_broken_pcnet32(struct pci_dev* dev); 46static void fixup_broken_pcnet32(struct pci_dev* dev);
47static int reparent_resources(struct resource *parent, struct resource *res); 47static int reparent_resources(struct resource *parent, struct resource *res);
48static void fixup_rev1_53c810(struct pci_dev* dev);
49static void fixup_cpc710_pci64(struct pci_dev* dev); 48static void fixup_cpc710_pci64(struct pci_dev* dev);
50#ifdef CONFIG_PPC_OF 49#ifdef CONFIG_PPC_OF
51static u8* pci_to_OF_bus_map; 50static u8* pci_to_OF_bus_map;
diff --git a/arch/ppc/platforms/85xx/mpc85xx_ads_common.h b/arch/ppc/platforms/85xx/mpc85xx_ads_common.h
index 7b26bcc5d10d..198a6a02cde8 100644
--- a/arch/ppc/platforms/85xx/mpc85xx_ads_common.h
+++ b/arch/ppc/platforms/85xx/mpc85xx_ads_common.h
@@ -25,6 +25,8 @@
25#define BCSR_ADDR ((uint)0xf8000000) 25#define BCSR_ADDR ((uint)0xf8000000)
26#define BCSR_SIZE ((uint)(32 * 1024)) 26#define BCSR_SIZE ((uint)(32 * 1024))
27 27
28struct seq_file;
29
28extern int mpc85xx_ads_show_cpuinfo(struct seq_file *m); 30extern int mpc85xx_ads_show_cpuinfo(struct seq_file *m);
29extern void mpc85xx_ads_init_IRQ(void) __init; 31extern void mpc85xx_ads_init_IRQ(void) __init;
30extern void mpc85xx_ads_map_io(void) __init; 32extern void mpc85xx_ads_map_io(void) __init;
diff --git a/arch/ppc/platforms/85xx/stx_gp3.h b/arch/ppc/platforms/85xx/stx_gp3.h
index 7bcc6c35a417..2f25b5195152 100644
--- a/arch/ppc/platforms/85xx/stx_gp3.h
+++ b/arch/ppc/platforms/85xx/stx_gp3.h
@@ -21,7 +21,6 @@
21 21
22#include <linux/config.h> 22#include <linux/config.h>
23#include <linux/init.h> 23#include <linux/init.h>
24#include <linux/seq_file.h>
25#include <asm/ppcboot.h> 24#include <asm/ppcboot.h>
26 25
27#define BOARD_CCSRBAR ((uint)0xe0000000) 26#define BOARD_CCSRBAR ((uint)0xe0000000)
@@ -43,7 +42,6 @@ extern void mpc85xx_setup_hose(void) __init;
43extern void mpc85xx_restart(char *cmd); 42extern void mpc85xx_restart(char *cmd);
44extern void mpc85xx_power_off(void); 43extern void mpc85xx_power_off(void);
45extern void mpc85xx_halt(void); 44extern void mpc85xx_halt(void);
46extern int mpc85xx_show_cpuinfo(struct seq_file *m);
47extern void mpc85xx_init_IRQ(void) __init; 45extern void mpc85xx_init_IRQ(void) __init;
48extern unsigned long mpc85xx_find_end_of_memory(void) __init; 46extern unsigned long mpc85xx_find_end_of_memory(void) __init;
49extern void mpc85xx_calibrate_decr(void) __init; 47extern void mpc85xx_calibrate_decr(void) __init;
diff --git a/arch/ppc/syslib/mpc83xx_sys.c b/arch/ppc/syslib/mpc83xx_sys.c
index a1523989aff4..82cf3ab77f4a 100644
--- a/arch/ppc/syslib/mpc83xx_sys.c
+++ b/arch/ppc/syslib/mpc83xx_sys.c
@@ -69,9 +69,33 @@ struct ppc_sys_spec ppc_sys_specs[] = {
69 }, 69 },
70 }, 70 },
71 { 71 {
72 .ppc_sys_name = "8343E", 72 .ppc_sys_name = "8347E",
73 .mask = 0xFFFF0000, 73 .mask = 0xFFFF0000,
74 .value = 0x80540000, 74 .value = 0x80540000,
75 .num_devices = 9,
76 .device_list = (enum ppc_sys_devices[])
77 {
78 MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1,
79 MPC83xx_IIC2, MPC83xx_DUART, MPC83xx_SEC2,
80 MPC83xx_USB2_DR, MPC83xx_USB2_MPH, MPC83xx_MDIO
81 },
82 },
83 {
84 .ppc_sys_name = "8347",
85 .mask = 0xFFFF0000,
86 .value = 0x80550000,
87 .num_devices = 8,
88 .device_list = (enum ppc_sys_devices[])
89 {
90 MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1,
91 MPC83xx_IIC2, MPC83xx_DUART,
92 MPC83xx_USB2_DR, MPC83xx_USB2_MPH, MPC83xx_MDIO
93 },
94 },
95 {
96 .ppc_sys_name = "8343E",
97 .mask = 0xFFFF0000,
98 .value = 0x80560000,
75 .num_devices = 8, 99 .num_devices = 8,
76 .device_list = (enum ppc_sys_devices[]) 100 .device_list = (enum ppc_sys_devices[])
77 { 101 {
@@ -83,7 +107,7 @@ struct ppc_sys_spec ppc_sys_specs[] = {
83 { 107 {
84 .ppc_sys_name = "8343", 108 .ppc_sys_name = "8343",
85 .mask = 0xFFFF0000, 109 .mask = 0xFFFF0000,
86 .value = 0x80550000, 110 .value = 0x80570000,
87 .num_devices = 7, 111 .num_devices = 7,
88 .device_list = (enum ppc_sys_devices[]) 112 .device_list = (enum ppc_sys_devices[])
89 { 113 {
diff --git a/arch/ppc64/Kconfig.debug b/arch/ppc64/Kconfig.debug
deleted file mode 100644
index b258c9314a1b..000000000000
--- a/arch/ppc64/Kconfig.debug
+++ /dev/null
@@ -1,65 +0,0 @@
1menu "Kernel hacking"
2
3source "lib/Kconfig.debug"
4
5config DEBUG_STACKOVERFLOW
6 bool "Check for stack overflows"
7 depends on DEBUG_KERNEL
8 help
9 This option will cause messages to be printed if free stack space
10 drops below a certain limit.
11
12config KPROBES
13 bool "Kprobes"
14 depends on DEBUG_KERNEL
15 help
16 Kprobes allows you to trap at almost any kernel address and
17 execute a callback function. register_kprobe() establishes
18 a probepoint and specifies the callback. Kprobes is useful
19 for kernel debugging, non-intrusive instrumentation and testing.
20 If in doubt, say "N".
21
22config DEBUG_STACK_USAGE
23 bool "Stack utilization instrumentation"
24 depends on DEBUG_KERNEL
25 help
26 Enables the display of the minimum amount of free stack which each
27 task has ever had available in the sysrq-T and sysrq-P debug output.
28
29 This option will slow down process creation somewhat.
30
31config DEBUGGER
32 bool "Enable debugger hooks"
33 depends on DEBUG_KERNEL
34 help
35 Include in-kernel hooks for kernel debuggers. Unless you are
36 intending to debug the kernel, say N here.
37
38config XMON
39 bool "Include xmon kernel debugger"
40 depends on DEBUGGER && !PPC_ISERIES
41 help
42 Include in-kernel hooks for the xmon kernel monitor/debugger.
43 Unless you are intending to debug the kernel, say N here.
44 Make sure to enable also CONFIG_BOOTX_TEXT on Macs. Otherwise
45 nothing will appear on the screen (xmon writes directly to the
46 framebuffer memory).
47 The cmdline option 'xmon' or 'xmon=early' will drop into xmon very
48 early during boot. 'xmon=on' will just enable the xmon debugger hooks.
49 'xmon=off' will disable the debugger hooks if CONFIG_XMON_DEFAULT is set.
50
51config XMON_DEFAULT
52 bool "Enable xmon by default"
53 depends on XMON
54 help
55 xmon is normally disabled unless booted with 'xmon=on'.
56 Use 'xmon=off' to disable xmon init during runtime.
57
58config IRQSTACKS
59 bool "Use separate kernel stacks when processing interrupts"
60 help
61 If you say Y here the kernel will use separate kernel stacks
62 for handling hard and soft interrupts. This can help avoid
63 overflowing the process kernel stacks.
64
65endmenu
diff --git a/arch/ppc64/Makefile b/arch/ppc64/Makefile
deleted file mode 100644
index a55a82d145d4..000000000000
--- a/arch/ppc64/Makefile
+++ /dev/null
@@ -1,142 +0,0 @@
1# This file is included by the global makefile so that you can add your own
2# architecture-specific flags and dependencies. Remember to do have actions
3# for "archclean" and "archdep" for cleaning up and making dependencies for
4# this architecture
5#
6# This file is subject to the terms and conditions of the GNU General Public
7# License. See the file "COPYING" in the main directory of this archive
8# for more details.
9#
10# Copyright (C) 1994 by Linus Torvalds
11# Changes for PPC by Gary Thomas
12# Rewritten by Cort Dougan and Paul Mackerras
13# Adjusted for PPC64 by Tom Gall
14#
15
16KERNELLOAD := 0xc000000000000000
17
18# Set default 32 bits cross compilers for vdso and boot wrapper
19CROSS32_COMPILE ?=
20
21CROSS32CC := $(CROSS32_COMPILE)gcc
22CROSS32AS := $(CROSS32_COMPILE)as
23CROSS32LD := $(CROSS32_COMPILE)ld
24CROSS32OBJCOPY := $(CROSS32_COMPILE)objcopy
25
26# If we have a biarch compiler, use it for 32 bits cross compile if
27# CROSS32_COMPILE wasn't explicitely defined, and add proper explicit
28# target type to target compilers
29
30HAS_BIARCH := $(call cc-option-yn, -m64)
31ifeq ($(HAS_BIARCH),y)
32ifeq ($(CROSS32_COMPILE),)
33CROSS32CC := $(CC) -m32
34CROSS32AS := $(AS) -a32
35CROSS32LD := $(LD) -m elf32ppc
36CROSS32OBJCOPY := $(OBJCOPY)
37endif
38override AS += -a64
39override LD += -m elf64ppc
40override CC += -m64
41endif
42
43export CROSS32CC CROSS32AS CROSS32LD CROSS32OBJCOPY
44
45new_nm := $(shell if $(NM) --help 2>&1 | grep -- '--synthetic' > /dev/null; then echo y; else echo n; fi)
46
47ifeq ($(new_nm),y)
48NM := $(NM) --synthetic
49
50endif
51
52CHECKFLAGS += -m64 -D__powerpc__ -D__powerpc64__
53
54LDFLAGS := -m elf64ppc
55LDFLAGS_vmlinux := -Bstatic -e $(KERNELLOAD) -Ttext $(KERNELLOAD)
56CFLAGS += -msoft-float -pipe -mminimal-toc -mtraceback=none \
57 -mcall-aixdesc
58# Temporary hack until we have migrated to asm-powerpc
59CPPFLAGS += -Iarch/$(ARCH)/include
60
61GCC_VERSION := $(call cc-version)
62GCC_BROKEN_VEC := $(shell if [ $(GCC_VERSION) -lt 0400 ] ; then echo "y"; fi ;)
63
64ifeq ($(CONFIG_POWER4_ONLY),y)
65ifeq ($(CONFIG_ALTIVEC),y)
66ifeq ($(GCC_BROKEN_VEC),y)
67 CFLAGS += $(call cc-option,-mcpu=970)
68else
69 CFLAGS += $(call cc-option,-mcpu=power4)
70endif
71else
72 CFLAGS += $(call cc-option,-mcpu=power4)
73endif
74else
75 CFLAGS += $(call cc-option,-mtune=power4)
76endif
77
78# No AltiVec instruction when building kernel
79CFLAGS += $(call cc-option, -mno-altivec)
80
81# Enable unit-at-a-time mode when possible. It shrinks the
82# kernel considerably.
83CFLAGS += $(call cc-option,-funit-at-a-time)
84
85head-y := arch/ppc64/kernel/head.o
86head-y += arch/powerpc/kernel/fpu.o
87head-y += arch/powerpc/kernel/entry_64.o
88
89core-y += arch/ppc64/kernel/ arch/powerpc/kernel/
90core-y += arch/powerpc/mm/
91core-y += arch/powerpc/sysdev/
92core-y += arch/powerpc/platforms/
93core-y += arch/powerpc/lib/
94core-$(CONFIG_XMON) += arch/powerpc/xmon/
95drivers-$(CONFIG_OPROFILE) += arch/powerpc/oprofile/
96
97boot := arch/ppc64/boot
98
99boottargets-$(CONFIG_PPC_PSERIES) += zImage zImage.initrd
100boottargets-$(CONFIG_PPC_PMAC) += zImage.vmode zImage.initrd.vmode
101boottargets-$(CONFIG_PPC_MAPLE) += zImage zImage.initrd
102boottargets-$(CONFIG_PPC_ISERIES) += vmlinux.sminitrd vmlinux.initrd vmlinux.sm
103boottargets-$(CONFIG_PPC_BPA) += zImage zImage.initrd
104$(boottargets-y): vmlinux
105 $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
106
107bootimage-$(CONFIG_PPC_PSERIES) := $(boot)/zImage
108bootimage-$(CONFIG_PPC_PMAC) := vmlinux
109bootimage-$(CONFIG_PPC_MAPLE) := $(boot)/zImage
110bootimage-$(CONFIG_PPC_BPA) := $(boot)/zImage
111bootimage-$(CONFIG_PPC_ISERIES) := vmlinux
112BOOTIMAGE := $(bootimage-y)
113install: vmlinux
114 $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(BOOTIMAGE) $@
115
116defaultimage-$(CONFIG_PPC_PSERIES) := zImage
117defaultimage-$(CONFIG_PPC_PMAC) := zImage.vmode
118defaultimage-$(CONFIG_PPC_MAPLE) := zImage
119defaultimage-$(CONFIG_PPC_ISERIES) := vmlinux
120KBUILD_IMAGE := $(defaultimage-y)
121all: $(KBUILD_IMAGE)
122
123archclean:
124 $(Q)$(MAKE) $(clean)=$(boot)
125 # Temporary hack until we have migrated to asm-powerpc
126 $(Q)rm -rf arch/$(ARCH)/include
127
128
129# Temporary hack until we have migrated to asm-powerpc
130include/asm: arch/$(ARCH)/include/asm
131arch/$(ARCH)/include/asm:
132 $(Q)if [ ! -d arch/$(ARCH)/include ]; then mkdir -p arch/$(ARCH)/include; fi
133 $(Q)ln -fsn $(srctree)/include/asm-powerpc arch/$(ARCH)/include/asm
134
135define archhelp
136 echo ' zImage.vmode - Compressed kernel image (arch/$(ARCH)/boot/zImage.vmode)'
137 echo ' zImage.initrd.vmode - Compressed kernel image with initrd attached,'
138 echo ' sourced from arch/$(ARCH)/boot/ramdisk.image.gz'
139 echo ' (arch/$(ARCH)/boot/zImage.initrd.vmode)'
140 echo ' zImage - zImage for pSeries machines'
141 echo ' zImage.initrd - zImage with initrd for pSeries machines'
142endef
diff --git a/arch/ppc64/configs/bpa_defconfig b/arch/ppc64/configs/bpa_defconfig
deleted file mode 100644
index 67ffecbc05cb..000000000000
--- a/arch/ppc64/configs/bpa_defconfig
+++ /dev/null
@@ -1,1024 +0,0 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.14-rc4
4# Thu Oct 20 08:29:10 2005
5#
6CONFIG_64BIT=y
7CONFIG_MMU=y
8CONFIG_RWSEM_XCHGADD_ALGORITHM=y
9CONFIG_GENERIC_CALIBRATE_DELAY=y
10CONFIG_GENERIC_ISA_DMA=y
11CONFIG_EARLY_PRINTK=y
12CONFIG_COMPAT=y
13CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
14CONFIG_ARCH_MAY_HAVE_PC_FDC=y
15CONFIG_FORCE_MAX_ZONEORDER=13
16
17#
18# Code maturity level options
19#
20CONFIG_EXPERIMENTAL=y
21CONFIG_CLEAN_COMPILE=y
22CONFIG_LOCK_KERNEL=y
23CONFIG_INIT_ENV_ARG_LIMIT=32
24
25#
26# General setup
27#
28CONFIG_LOCALVERSION=""
29CONFIG_LOCALVERSION_AUTO=y
30CONFIG_SWAP=y
31CONFIG_SYSVIPC=y
32# CONFIG_POSIX_MQUEUE is not set
33# CONFIG_BSD_PROCESS_ACCT is not set
34CONFIG_SYSCTL=y
35# CONFIG_AUDIT is not set
36CONFIG_HOTPLUG=y
37CONFIG_KOBJECT_UEVENT=y
38# CONFIG_IKCONFIG is not set
39# CONFIG_CPUSETS is not set
40CONFIG_INITRAMFS_SOURCE=""
41# CONFIG_EMBEDDED is not set
42CONFIG_KALLSYMS=y
43# CONFIG_KALLSYMS_ALL is not set
44# CONFIG_KALLSYMS_EXTRA_PASS is not set
45CONFIG_PRINTK=y
46CONFIG_BUG=y
47CONFIG_BASE_FULL=y
48CONFIG_FUTEX=y
49CONFIG_EPOLL=y
50CONFIG_SHMEM=y
51CONFIG_CC_ALIGN_FUNCTIONS=0
52CONFIG_CC_ALIGN_LABELS=0
53CONFIG_CC_ALIGN_LOOPS=0
54CONFIG_CC_ALIGN_JUMPS=0
55# CONFIG_TINY_SHMEM is not set
56CONFIG_BASE_SMALL=0
57
58#
59# Loadable module support
60#
61CONFIG_MODULES=y
62CONFIG_MODULE_UNLOAD=y
63# CONFIG_MODULE_FORCE_UNLOAD is not set
64CONFIG_OBSOLETE_MODPARM=y
65# CONFIG_MODVERSIONS is not set
66# CONFIG_MODULE_SRCVERSION_ALL is not set
67# CONFIG_KMOD is not set
68CONFIG_STOP_MACHINE=y
69CONFIG_SYSVIPC_COMPAT=y
70
71#
72# Platform support
73#
74# CONFIG_PPC_ISERIES is not set
75CONFIG_PPC_MULTIPLATFORM=y
76# CONFIG_PPC_PSERIES is not set
77CONFIG_PPC_BPA=y
78# CONFIG_PPC_PMAC is not set
79# CONFIG_PPC_MAPLE is not set
80CONFIG_PPC=y
81CONFIG_PPC64=y
82CONFIG_PPC_OF=y
83CONFIG_BPA_IIC=y
84CONFIG_ALTIVEC=y
85CONFIG_KEXEC=y
86# CONFIG_U3_DART is not set
87# CONFIG_BOOTX_TEXT is not set
88# CONFIG_POWER4_ONLY is not set
89# CONFIG_IOMMU_VMERGE is not set
90CONFIG_SMP=y
91CONFIG_NR_CPUS=4
92CONFIG_ARCH_SELECT_MEMORY_MODEL=y
93CONFIG_ARCH_FLATMEM_ENABLE=y
94CONFIG_SELECT_MEMORY_MODEL=y
95CONFIG_FLATMEM_MANUAL=y
96# CONFIG_DISCONTIGMEM_MANUAL is not set
97# CONFIG_SPARSEMEM_MANUAL is not set
98CONFIG_FLATMEM=y
99CONFIG_FLAT_NODE_MEM_MAP=y
100# CONFIG_SPARSEMEM_STATIC is not set
101# CONFIG_NUMA is not set
102CONFIG_SCHED_SMT=y
103CONFIG_PREEMPT_NONE=y
104# CONFIG_PREEMPT_VOLUNTARY is not set
105# CONFIG_PREEMPT is not set
106CONFIG_PREEMPT_BKL=y
107# CONFIG_HZ_100 is not set
108CONFIG_HZ_250=y
109# CONFIG_HZ_1000 is not set
110CONFIG_HZ=250
111CONFIG_GENERIC_HARDIRQS=y
112CONFIG_PPC_RTAS=y
113CONFIG_RTAS_PROC=y
114CONFIG_RTAS_FLASH=y
115CONFIG_SECCOMP=y
116CONFIG_BINFMT_ELF=y
117# CONFIG_BINFMT_MISC is not set
118CONFIG_PROC_DEVICETREE=y
119# CONFIG_CMDLINE_BOOL is not set
120CONFIG_ISA_DMA_API=y
121
122#
123# Bus Options
124#
125CONFIG_PCI=y
126CONFIG_PCI_DOMAINS=y
127CONFIG_PCI_LEGACY_PROC=y
128# CONFIG_PCI_DEBUG is not set
129
130#
131# PCCARD (PCMCIA/CardBus) support
132#
133# CONFIG_PCCARD is not set
134
135#
136# PCI Hotplug Support
137#
138# CONFIG_HOTPLUG_PCI is not set
139
140#
141# Networking
142#
143CONFIG_NET=y
144
145#
146# Networking options
147#
148CONFIG_PACKET=y
149# CONFIG_PACKET_MMAP is not set
150CONFIG_UNIX=y
151CONFIG_XFRM=y
152# CONFIG_XFRM_USER is not set
153# CONFIG_NET_KEY is not set
154CONFIG_INET=y
155CONFIG_IP_MULTICAST=y
156# CONFIG_IP_ADVANCED_ROUTER is not set
157CONFIG_IP_FIB_HASH=y
158# CONFIG_IP_PNP is not set
159CONFIG_NET_IPIP=y
160# CONFIG_NET_IPGRE is not set
161# CONFIG_IP_MROUTE is not set
162# CONFIG_ARPD is not set
163CONFIG_SYN_COOKIES=y
164# CONFIG_INET_AH is not set
165# CONFIG_INET_ESP is not set
166# CONFIG_INET_IPCOMP is not set
167CONFIG_INET_TUNNEL=y
168CONFIG_INET_DIAG=y
169CONFIG_INET_TCP_DIAG=y
170# CONFIG_TCP_CONG_ADVANCED is not set
171CONFIG_TCP_CONG_BIC=y
172
173#
174# IP: Virtual Server Configuration
175#
176# CONFIG_IP_VS is not set
177CONFIG_IPV6=y
178# CONFIG_IPV6_PRIVACY is not set
179CONFIG_INET6_AH=m
180CONFIG_INET6_ESP=m
181CONFIG_INET6_IPCOMP=m
182CONFIG_INET6_TUNNEL=m
183CONFIG_IPV6_TUNNEL=m
184CONFIG_NETFILTER=y
185# CONFIG_NETFILTER_DEBUG is not set
186# CONFIG_NETFILTER_NETLINK is not set
187
188#
189# IP: Netfilter Configuration
190#
191CONFIG_IP_NF_CONNTRACK=y
192# CONFIG_IP_NF_CT_ACCT is not set
193# CONFIG_IP_NF_CONNTRACK_MARK is not set
194# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
195CONFIG_IP_NF_CT_PROTO_SCTP=y
196CONFIG_IP_NF_FTP=m
197CONFIG_IP_NF_IRC=m
198# CONFIG_IP_NF_NETBIOS_NS is not set
199CONFIG_IP_NF_TFTP=m
200CONFIG_IP_NF_AMANDA=m
201# CONFIG_IP_NF_PPTP is not set
202CONFIG_IP_NF_QUEUE=m
203CONFIG_IP_NF_IPTABLES=m
204CONFIG_IP_NF_MATCH_LIMIT=m
205CONFIG_IP_NF_MATCH_IPRANGE=m
206CONFIG_IP_NF_MATCH_MAC=m
207CONFIG_IP_NF_MATCH_PKTTYPE=m
208CONFIG_IP_NF_MATCH_MARK=m
209CONFIG_IP_NF_MATCH_MULTIPORT=m
210CONFIG_IP_NF_MATCH_TOS=m
211CONFIG_IP_NF_MATCH_RECENT=m
212CONFIG_IP_NF_MATCH_ECN=m
213CONFIG_IP_NF_MATCH_DSCP=m
214CONFIG_IP_NF_MATCH_AH_ESP=m
215CONFIG_IP_NF_MATCH_LENGTH=m
216CONFIG_IP_NF_MATCH_TTL=m
217CONFIG_IP_NF_MATCH_TCPMSS=m
218CONFIG_IP_NF_MATCH_HELPER=m
219CONFIG_IP_NF_MATCH_STATE=m
220CONFIG_IP_NF_MATCH_CONNTRACK=m
221CONFIG_IP_NF_MATCH_OWNER=m
222CONFIG_IP_NF_MATCH_ADDRTYPE=m
223CONFIG_IP_NF_MATCH_REALM=m
224CONFIG_IP_NF_MATCH_SCTP=m
225# CONFIG_IP_NF_MATCH_DCCP is not set
226CONFIG_IP_NF_MATCH_COMMENT=m
227CONFIG_IP_NF_MATCH_HASHLIMIT=m
228CONFIG_IP_NF_MATCH_STRING=m
229CONFIG_IP_NF_FILTER=m
230CONFIG_IP_NF_TARGET_REJECT=m
231CONFIG_IP_NF_TARGET_LOG=m
232CONFIG_IP_NF_TARGET_ULOG=m
233CONFIG_IP_NF_TARGET_TCPMSS=m
234CONFIG_IP_NF_TARGET_NFQUEUE=m
235CONFIG_IP_NF_NAT=m
236CONFIG_IP_NF_NAT_NEEDED=y
237CONFIG_IP_NF_TARGET_MASQUERADE=m
238CONFIG_IP_NF_TARGET_REDIRECT=m
239CONFIG_IP_NF_TARGET_NETMAP=m
240CONFIG_IP_NF_TARGET_SAME=m
241CONFIG_IP_NF_NAT_SNMP_BASIC=m
242CONFIG_IP_NF_NAT_IRC=m
243CONFIG_IP_NF_NAT_FTP=m
244CONFIG_IP_NF_NAT_TFTP=m
245CONFIG_IP_NF_NAT_AMANDA=m
246CONFIG_IP_NF_MANGLE=m
247CONFIG_IP_NF_TARGET_TOS=m
248CONFIG_IP_NF_TARGET_ECN=m
249CONFIG_IP_NF_TARGET_DSCP=m
250CONFIG_IP_NF_TARGET_MARK=m
251CONFIG_IP_NF_TARGET_CLASSIFY=m
252CONFIG_IP_NF_TARGET_TTL=m
253CONFIG_IP_NF_RAW=m
254CONFIG_IP_NF_TARGET_NOTRACK=m
255CONFIG_IP_NF_ARPTABLES=m
256CONFIG_IP_NF_ARPFILTER=m
257CONFIG_IP_NF_ARP_MANGLE=m
258
259#
260# IPv6: Netfilter Configuration (EXPERIMENTAL)
261#
262# CONFIG_IP6_NF_QUEUE is not set
263# CONFIG_IP6_NF_IPTABLES is not set
264# CONFIG_IP6_NF_TARGET_NFQUEUE is not set
265
266#
267# DCCP Configuration (EXPERIMENTAL)
268#
269# CONFIG_IP_DCCP is not set
270
271#
272# SCTP Configuration (EXPERIMENTAL)
273#
274# CONFIG_IP_SCTP is not set
275# CONFIG_ATM is not set
276# CONFIG_BRIDGE is not set
277# CONFIG_VLAN_8021Q is not set
278# CONFIG_DECNET is not set
279# CONFIG_LLC2 is not set
280# CONFIG_IPX is not set
281# CONFIG_ATALK is not set
282# CONFIG_X25 is not set
283# CONFIG_LAPB is not set
284# CONFIG_NET_DIVERT is not set
285# CONFIG_ECONET is not set
286# CONFIG_WAN_ROUTER is not set
287# CONFIG_NET_SCHED is not set
288CONFIG_NET_CLS_ROUTE=y
289
290#
291# Network testing
292#
293# CONFIG_NET_PKTGEN is not set
294# CONFIG_HAMRADIO is not set
295# CONFIG_IRDA is not set
296# CONFIG_BT is not set
297# CONFIG_IEEE80211 is not set
298
299#
300# Device Drivers
301#
302
303#
304# Generic Driver Options
305#
306CONFIG_STANDALONE=y
307CONFIG_PREVENT_FIRMWARE_BUILD=y
308CONFIG_FW_LOADER=y
309# CONFIG_DEBUG_DRIVER is not set
310
311#
312# Connector - unified userspace <-> kernelspace linker
313#
314# CONFIG_CONNECTOR is not set
315
316#
317# Memory Technology Devices (MTD)
318#
319# CONFIG_MTD is not set
320
321#
322# Parallel port support
323#
324# CONFIG_PARPORT is not set
325
326#
327# Plug and Play support
328#
329
330#
331# Block devices
332#
333# CONFIG_BLK_DEV_FD is not set
334# CONFIG_BLK_CPQ_DA is not set
335# CONFIG_BLK_CPQ_CISS_DA is not set
336# CONFIG_BLK_DEV_DAC960 is not set
337# CONFIG_BLK_DEV_UMEM is not set
338# CONFIG_BLK_DEV_COW_COMMON is not set
339CONFIG_BLK_DEV_LOOP=y
340# CONFIG_BLK_DEV_CRYPTOLOOP is not set
341CONFIG_BLK_DEV_NBD=y
342# CONFIG_BLK_DEV_SX8 is not set
343CONFIG_BLK_DEV_RAM=y
344CONFIG_BLK_DEV_RAM_COUNT=16
345CONFIG_BLK_DEV_RAM_SIZE=131072
346CONFIG_BLK_DEV_INITRD=y
347# CONFIG_CDROM_PKTCDVD is not set
348
349#
350# IO Schedulers
351#
352CONFIG_IOSCHED_NOOP=y
353CONFIG_IOSCHED_AS=y
354CONFIG_IOSCHED_DEADLINE=y
355CONFIG_IOSCHED_CFQ=y
356# CONFIG_ATA_OVER_ETH is not set
357
358#
359# ATA/ATAPI/MFM/RLL support
360#
361CONFIG_IDE=y
362CONFIG_BLK_DEV_IDE=y
363
364#
365# Please see Documentation/ide.txt for help/info on IDE drives
366#
367# CONFIG_BLK_DEV_IDE_SATA is not set
368CONFIG_BLK_DEV_IDEDISK=y
369CONFIG_IDEDISK_MULTI_MODE=y
370# CONFIG_BLK_DEV_IDECD is not set
371# CONFIG_BLK_DEV_IDETAPE is not set
372# CONFIG_BLK_DEV_IDEFLOPPY is not set
373# CONFIG_IDE_TASK_IOCTL is not set
374
375#
376# IDE chipset support/bugfixes
377#
378CONFIG_IDE_GENERIC=y
379CONFIG_BLK_DEV_IDEPCI=y
380CONFIG_IDEPCI_SHARE_IRQ=y
381# CONFIG_BLK_DEV_OFFBOARD is not set
382CONFIG_BLK_DEV_GENERIC=y
383# CONFIG_BLK_DEV_OPTI621 is not set
384# CONFIG_BLK_DEV_SL82C105 is not set
385CONFIG_BLK_DEV_IDEDMA_PCI=y
386# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
387CONFIG_IDEDMA_PCI_AUTO=y
388# CONFIG_IDEDMA_ONLYDISK is not set
389CONFIG_BLK_DEV_AEC62XX=y
390# CONFIG_BLK_DEV_ALI15X3 is not set
391# CONFIG_BLK_DEV_AMD74XX is not set
392# CONFIG_BLK_DEV_CMD64X is not set
393# CONFIG_BLK_DEV_TRIFLEX is not set
394# CONFIG_BLK_DEV_CY82C693 is not set
395# CONFIG_BLK_DEV_CS5520 is not set
396# CONFIG_BLK_DEV_CS5530 is not set
397# CONFIG_BLK_DEV_HPT34X is not set
398# CONFIG_BLK_DEV_HPT366 is not set
399# CONFIG_BLK_DEV_SC1200 is not set
400# CONFIG_BLK_DEV_PIIX is not set
401# CONFIG_BLK_DEV_IT821X is not set
402# CONFIG_BLK_DEV_NS87415 is not set
403# CONFIG_BLK_DEV_PDC202XX_OLD is not set
404# CONFIG_BLK_DEV_PDC202XX_NEW is not set
405# CONFIG_BLK_DEV_SVWKS is not set
406CONFIG_BLK_DEV_SIIMAGE=y
407# CONFIG_BLK_DEV_SLC90E66 is not set
408# CONFIG_BLK_DEV_TRM290 is not set
409# CONFIG_BLK_DEV_VIA82CXXX is not set
410# CONFIG_IDE_ARM is not set
411CONFIG_BLK_DEV_IDEDMA=y
412# CONFIG_IDEDMA_IVB is not set
413CONFIG_IDEDMA_AUTO=y
414# CONFIG_BLK_DEV_HD is not set
415
416#
417# SCSI device support
418#
419# CONFIG_RAID_ATTRS is not set
420# CONFIG_SCSI is not set
421
422#
423# Multi-device support (RAID and LVM)
424#
425# CONFIG_MD is not set
426
427#
428# Fusion MPT device support
429#
430# CONFIG_FUSION is not set
431
432#
433# IEEE 1394 (FireWire) support
434#
435# CONFIG_IEEE1394 is not set
436
437#
438# I2O device support
439#
440# CONFIG_I2O is not set
441
442#
443# Macintosh device drivers
444#
445
446#
447# Network device support
448#
449CONFIG_NETDEVICES=y
450# CONFIG_DUMMY is not set
451# CONFIG_BONDING is not set
452# CONFIG_EQUALIZER is not set
453# CONFIG_TUN is not set
454
455#
456# ARCnet devices
457#
458# CONFIG_ARCNET is not set
459
460#
461# PHY device support
462#
463# CONFIG_PHYLIB is not set
464
465#
466# Ethernet (10 or 100Mbit)
467#
468CONFIG_NET_ETHERNET=y
469CONFIG_MII=y
470# CONFIG_HAPPYMEAL is not set
471# CONFIG_SUNGEM is not set
472# CONFIG_CASSINI is not set
473# CONFIG_NET_VENDOR_3COM is not set
474
475#
476# Tulip family network device support
477#
478# CONFIG_NET_TULIP is not set
479# CONFIG_HP100 is not set
480# CONFIG_NET_PCI is not set
481
482#
483# Ethernet (1000 Mbit)
484#
485# CONFIG_ACENIC is not set
486# CONFIG_DL2K is not set
487CONFIG_E1000=m
488# CONFIG_E1000_NAPI is not set
489# CONFIG_NS83820 is not set
490# CONFIG_HAMACHI is not set
491# CONFIG_YELLOWFIN is not set
492# CONFIG_R8169 is not set
493# CONFIG_SIS190 is not set
494CONFIG_SKGE=m
495# CONFIG_SK98LIN is not set
496# CONFIG_TIGON3 is not set
497# CONFIG_BNX2 is not set
498# CONFIG_SPIDER_NET is not set
499# CONFIG_MV643XX_ETH is not set
500
501#
502# Ethernet (10000 Mbit)
503#
504# CONFIG_CHELSIO_T1 is not set
505# CONFIG_IXGB is not set
506# CONFIG_S2IO is not set
507
508#
509# Token Ring devices
510#
511# CONFIG_TR is not set
512
513#
514# Wireless LAN (non-hamradio)
515#
516# CONFIG_NET_RADIO is not set
517
518#
519# Wan interfaces
520#
521# CONFIG_WAN is not set
522# CONFIG_FDDI is not set
523# CONFIG_HIPPI is not set
524# CONFIG_PPP is not set
525# CONFIG_SLIP is not set
526# CONFIG_SHAPER is not set
527# CONFIG_NETCONSOLE is not set
528# CONFIG_NETPOLL is not set
529# CONFIG_NET_POLL_CONTROLLER is not set
530
531#
532# ISDN subsystem
533#
534# CONFIG_ISDN is not set
535
536#
537# Telephony Support
538#
539# CONFIG_PHONE is not set
540
541#
542# Input device support
543#
544CONFIG_INPUT=y
545
546#
547# Userland interfaces
548#
549CONFIG_INPUT_MOUSEDEV=y
550# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
551CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
552CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
553# CONFIG_INPUT_JOYDEV is not set
554# CONFIG_INPUT_TSDEV is not set
555# CONFIG_INPUT_EVDEV is not set
556# CONFIG_INPUT_EVBUG is not set
557
558#
559# Input Device Drivers
560#
561# CONFIG_INPUT_KEYBOARD is not set
562# CONFIG_INPUT_MOUSE is not set
563# CONFIG_INPUT_JOYSTICK is not set
564# CONFIG_INPUT_TOUCHSCREEN is not set
565# CONFIG_INPUT_MISC is not set
566
567#
568# Hardware I/O ports
569#
570CONFIG_SERIO=y
571# CONFIG_SERIO_I8042 is not set
572CONFIG_SERIO_SERPORT=y
573# CONFIG_SERIO_PCIPS2 is not set
574# CONFIG_SERIO_RAW is not set
575# CONFIG_GAMEPORT is not set
576
577#
578# Character devices
579#
580CONFIG_VT=y
581CONFIG_VT_CONSOLE=y
582CONFIG_HW_CONSOLE=y
583CONFIG_SERIAL_NONSTANDARD=y
584# CONFIG_ROCKETPORT is not set
585# CONFIG_CYCLADES is not set
586# CONFIG_DIGIEPCA is not set
587# CONFIG_MOXA_SMARTIO is not set
588# CONFIG_ISI is not set
589# CONFIG_SYNCLINK is not set
590# CONFIG_SYNCLINKMP is not set
591# CONFIG_N_HDLC is not set
592# CONFIG_SPECIALIX is not set
593# CONFIG_SX is not set
594# CONFIG_STALDRV is not set
595
596#
597# Serial drivers
598#
599CONFIG_SERIAL_8250=y
600CONFIG_SERIAL_8250_CONSOLE=y
601CONFIG_SERIAL_8250_NR_UARTS=4
602# CONFIG_SERIAL_8250_EXTENDED is not set
603
604#
605# Non-8250 serial port support
606#
607CONFIG_SERIAL_CORE=y
608CONFIG_SERIAL_CORE_CONSOLE=y
609# CONFIG_SERIAL_JSM is not set
610CONFIG_UNIX98_PTYS=y
611# CONFIG_LEGACY_PTYS is not set
612
613#
614# IPMI
615#
616# CONFIG_IPMI_HANDLER is not set
617
618#
619# Watchdog Cards
620#
621CONFIG_WATCHDOG=y
622# CONFIG_WATCHDOG_NOWAYOUT is not set
623
624#
625# Watchdog Device Drivers
626#
627# CONFIG_SOFT_WATCHDOG is not set
628CONFIG_WATCHDOG_RTAS=y
629
630#
631# PCI-based Watchdog Cards
632#
633# CONFIG_PCIPCWATCHDOG is not set
634# CONFIG_WDTPCI is not set
635# CONFIG_RTC is not set
636# CONFIG_DTLK is not set
637# CONFIG_R3964 is not set
638# CONFIG_APPLICOM is not set
639
640#
641# Ftape, the floppy tape device driver
642#
643# CONFIG_AGP is not set
644# CONFIG_DRM is not set
645# CONFIG_RAW_DRIVER is not set
646# CONFIG_HANGCHECK_TIMER is not set
647
648#
649# TPM devices
650#
651# CONFIG_TCG_TPM is not set
652
653#
654# I2C support
655#
656CONFIG_I2C=y
657# CONFIG_I2C_CHARDEV is not set
658
659#
660# I2C Algorithms
661#
662CONFIG_I2C_ALGOBIT=y
663# CONFIG_I2C_ALGOPCF is not set
664# CONFIG_I2C_ALGOPCA is not set
665
666#
667# I2C Hardware Bus support
668#
669# CONFIG_I2C_ALI1535 is not set
670# CONFIG_I2C_ALI1563 is not set
671# CONFIG_I2C_ALI15X3 is not set
672# CONFIG_I2C_AMD756 is not set
673# CONFIG_I2C_AMD8111 is not set
674# CONFIG_I2C_I801 is not set
675# CONFIG_I2C_I810 is not set
676# CONFIG_I2C_PIIX4 is not set
677# CONFIG_I2C_NFORCE2 is not set
678# CONFIG_I2C_PARPORT_LIGHT is not set
679# CONFIG_I2C_PROSAVAGE is not set
680# CONFIG_I2C_SAVAGE4 is not set
681# CONFIG_SCx200_ACB is not set
682# CONFIG_I2C_SIS5595 is not set
683# CONFIG_I2C_SIS630 is not set
684# CONFIG_I2C_SIS96X is not set
685# CONFIG_I2C_STUB is not set
686# CONFIG_I2C_VIA is not set
687# CONFIG_I2C_VIAPRO is not set
688# CONFIG_I2C_VOODOO3 is not set
689# CONFIG_I2C_PCA_ISA is not set
690
691#
692# Miscellaneous I2C Chip support
693#
694# CONFIG_SENSORS_DS1337 is not set
695# CONFIG_SENSORS_DS1374 is not set
696# CONFIG_SENSORS_EEPROM is not set
697# CONFIG_SENSORS_PCF8574 is not set
698# CONFIG_SENSORS_PCA9539 is not set
699# CONFIG_SENSORS_PCF8591 is not set
700# CONFIG_SENSORS_RTC8564 is not set
701# CONFIG_SENSORS_MAX6875 is not set
702# CONFIG_I2C_DEBUG_CORE is not set
703# CONFIG_I2C_DEBUG_ALGO is not set
704# CONFIG_I2C_DEBUG_BUS is not set
705# CONFIG_I2C_DEBUG_CHIP is not set
706
707#
708# Dallas's 1-wire bus
709#
710# CONFIG_W1 is not set
711
712#
713# Hardware Monitoring support
714#
715# CONFIG_HWMON is not set
716# CONFIG_HWMON_VID is not set
717
718#
719# Misc devices
720#
721
722#
723# Multimedia Capabilities Port drivers
724#
725
726#
727# Multimedia devices
728#
729# CONFIG_VIDEO_DEV is not set
730
731#
732# Digital Video Broadcasting Devices
733#
734# CONFIG_DVB is not set
735
736#
737# Graphics support
738#
739# CONFIG_FB is not set
740
741#
742# Console display driver support
743#
744# CONFIG_VGA_CONSOLE is not set
745CONFIG_DUMMY_CONSOLE=y
746
747#
748# Sound
749#
750# CONFIG_SOUND is not set
751
752#
753# USB support
754#
755CONFIG_USB_ARCH_HAS_HCD=y
756CONFIG_USB_ARCH_HAS_OHCI=y
757# CONFIG_USB is not set
758
759#
760# USB Gadget Support
761#
762# CONFIG_USB_GADGET is not set
763
764#
765# MMC/SD Card support
766#
767# CONFIG_MMC is not set
768
769#
770# InfiniBand support
771#
772# CONFIG_INFINIBAND is not set
773
774#
775# SN Devices
776#
777
778#
779# File systems
780#
781CONFIG_EXT2_FS=y
782# CONFIG_EXT2_FS_XATTR is not set
783# CONFIG_EXT2_FS_XIP is not set
784CONFIG_EXT3_FS=y
785CONFIG_EXT3_FS_XATTR=y
786# CONFIG_EXT3_FS_POSIX_ACL is not set
787# CONFIG_EXT3_FS_SECURITY is not set
788CONFIG_JBD=y
789# CONFIG_JBD_DEBUG is not set
790CONFIG_FS_MBCACHE=y
791# CONFIG_REISERFS_FS is not set
792# CONFIG_JFS_FS is not set
793CONFIG_FS_POSIX_ACL=y
794# CONFIG_XFS_FS is not set
795# CONFIG_MINIX_FS is not set
796# CONFIG_ROMFS_FS is not set
797CONFIG_INOTIFY=y
798# CONFIG_QUOTA is not set
799CONFIG_DNOTIFY=y
800# CONFIG_AUTOFS_FS is not set
801# CONFIG_AUTOFS4_FS is not set
802# CONFIG_FUSE_FS is not set
803
804#
805# CD-ROM/DVD Filesystems
806#
807CONFIG_ISO9660_FS=m
808CONFIG_JOLIET=y
809# CONFIG_ZISOFS is not set
810CONFIG_UDF_FS=m
811CONFIG_UDF_NLS=y
812
813#
814# DOS/FAT/NT Filesystems
815#
816CONFIG_FAT_FS=m
817CONFIG_MSDOS_FS=m
818CONFIG_VFAT_FS=m
819CONFIG_FAT_DEFAULT_CODEPAGE=437
820CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
821# CONFIG_NTFS_FS is not set
822
823#
824# Pseudo filesystems
825#
826CONFIG_PROC_FS=y
827CONFIG_PROC_KCORE=y
828CONFIG_SYSFS=y
829CONFIG_TMPFS=y
830CONFIG_HUGETLBFS=y
831CONFIG_HUGETLB_PAGE=y
832CONFIG_RAMFS=y
833# CONFIG_RELAYFS_FS is not set
834
835#
836# Miscellaneous filesystems
837#
838# CONFIG_ADFS_FS is not set
839# CONFIG_AFFS_FS is not set
840# CONFIG_HFS_FS is not set
841# CONFIG_HFSPLUS_FS is not set
842# CONFIG_BEFS_FS is not set
843# CONFIG_BFS_FS is not set
844# CONFIG_EFS_FS is not set
845# CONFIG_CRAMFS is not set
846# CONFIG_VXFS_FS is not set
847# CONFIG_HPFS_FS is not set
848# CONFIG_QNX4FS_FS is not set
849# CONFIG_SYSV_FS is not set
850# CONFIG_UFS_FS is not set
851
852#
853# Network File Systems
854#
855CONFIG_NFS_FS=m
856CONFIG_NFS_V3=y
857CONFIG_NFS_V3_ACL=y
858# CONFIG_NFS_V4 is not set
859# CONFIG_NFS_DIRECTIO is not set
860CONFIG_NFSD=m
861CONFIG_NFSD_V2_ACL=y
862CONFIG_NFSD_V3=y
863CONFIG_NFSD_V3_ACL=y
864# CONFIG_NFSD_V4 is not set
865CONFIG_NFSD_TCP=y
866CONFIG_LOCKD=m
867CONFIG_LOCKD_V4=y
868CONFIG_EXPORTFS=m
869CONFIG_NFS_ACL_SUPPORT=m
870CONFIG_NFS_COMMON=y
871CONFIG_SUNRPC=m
872# CONFIG_RPCSEC_GSS_KRB5 is not set
873# CONFIG_RPCSEC_GSS_SPKM3 is not set
874# CONFIG_SMB_FS is not set
875# CONFIG_CIFS is not set
876# CONFIG_NCP_FS is not set
877# CONFIG_CODA_FS is not set
878# CONFIG_AFS_FS is not set
879# CONFIG_9P_FS is not set
880
881#
882# Partition Types
883#
884CONFIG_PARTITION_ADVANCED=y
885# CONFIG_ACORN_PARTITION is not set
886# CONFIG_OSF_PARTITION is not set
887# CONFIG_AMIGA_PARTITION is not set
888# CONFIG_ATARI_PARTITION is not set
889# CONFIG_MAC_PARTITION is not set
890CONFIG_MSDOS_PARTITION=y
891# CONFIG_BSD_DISKLABEL is not set
892# CONFIG_MINIX_SUBPARTITION is not set
893# CONFIG_SOLARIS_X86_PARTITION is not set
894# CONFIG_UNIXWARE_DISKLABEL is not set
895# CONFIG_LDM_PARTITION is not set
896# CONFIG_SGI_PARTITION is not set
897# CONFIG_ULTRIX_PARTITION is not set
898# CONFIG_SUN_PARTITION is not set
899CONFIG_EFI_PARTITION=y
900
901#
902# Native Language Support
903#
904CONFIG_NLS=m
905CONFIG_NLS_DEFAULT="iso8859-1"
906# CONFIG_NLS_CODEPAGE_437 is not set
907# CONFIG_NLS_CODEPAGE_737 is not set
908# CONFIG_NLS_CODEPAGE_775 is not set
909# CONFIG_NLS_CODEPAGE_850 is not set
910# CONFIG_NLS_CODEPAGE_852 is not set
911# CONFIG_NLS_CODEPAGE_855 is not set
912# CONFIG_NLS_CODEPAGE_857 is not set
913# CONFIG_NLS_CODEPAGE_860 is not set
914# CONFIG_NLS_CODEPAGE_861 is not set
915# CONFIG_NLS_CODEPAGE_862 is not set
916# CONFIG_NLS_CODEPAGE_863 is not set
917# CONFIG_NLS_CODEPAGE_864 is not set
918# CONFIG_NLS_CODEPAGE_865 is not set
919# CONFIG_NLS_CODEPAGE_866 is not set
920# CONFIG_NLS_CODEPAGE_869 is not set
921# CONFIG_NLS_CODEPAGE_936 is not set
922# CONFIG_NLS_CODEPAGE_950 is not set
923# CONFIG_NLS_CODEPAGE_932 is not set
924# CONFIG_NLS_CODEPAGE_949 is not set
925# CONFIG_NLS_CODEPAGE_874 is not set
926# CONFIG_NLS_ISO8859_8 is not set
927# CONFIG_NLS_CODEPAGE_1250 is not set
928# CONFIG_NLS_CODEPAGE_1251 is not set
929# CONFIG_NLS_ASCII is not set
930CONFIG_NLS_ISO8859_1=m
931CONFIG_NLS_ISO8859_2=m
932CONFIG_NLS_ISO8859_3=m
933CONFIG_NLS_ISO8859_4=m
934CONFIG_NLS_ISO8859_5=m
935CONFIG_NLS_ISO8859_6=m
936CONFIG_NLS_ISO8859_7=m
937CONFIG_NLS_ISO8859_9=m
938CONFIG_NLS_ISO8859_13=m
939CONFIG_NLS_ISO8859_14=m
940CONFIG_NLS_ISO8859_15=m
941# CONFIG_NLS_KOI8_R is not set
942# CONFIG_NLS_KOI8_U is not set
943# CONFIG_NLS_UTF8 is not set
944
945#
946# Profiling support
947#
948# CONFIG_PROFILING is not set
949
950#
951# Kernel hacking
952#
953# CONFIG_PRINTK_TIME is not set
954CONFIG_DEBUG_KERNEL=y
955CONFIG_MAGIC_SYSRQ=y
956CONFIG_LOG_BUF_SHIFT=15
957CONFIG_DETECT_SOFTLOCKUP=y
958# CONFIG_SCHEDSTATS is not set
959# CONFIG_DEBUG_SLAB is not set
960# CONFIG_DEBUG_SPINLOCK is not set
961CONFIG_DEBUG_SPINLOCK_SLEEP=y
962# CONFIG_DEBUG_KOBJECT is not set
963# CONFIG_DEBUG_INFO is not set
964CONFIG_DEBUG_FS=y
965# CONFIG_DEBUG_STACKOVERFLOW is not set
966# CONFIG_KPROBES is not set
967# CONFIG_DEBUG_STACK_USAGE is not set
968CONFIG_DEBUGGER=y
969# CONFIG_XMON is not set
970# CONFIG_PPCDBG is not set
971CONFIG_IRQSTACKS=y
972
973#
974# Security options
975#
976# CONFIG_KEYS is not set
977# CONFIG_SECURITY is not set
978
979#
980# Cryptographic options
981#
982CONFIG_CRYPTO=y
983CONFIG_CRYPTO_HMAC=y
984# CONFIG_CRYPTO_NULL is not set
985# CONFIG_CRYPTO_MD4 is not set
986CONFIG_CRYPTO_MD5=m
987CONFIG_CRYPTO_SHA1=m
988# CONFIG_CRYPTO_SHA256 is not set
989# CONFIG_CRYPTO_SHA512 is not set
990# CONFIG_CRYPTO_WP512 is not set
991# CONFIG_CRYPTO_TGR192 is not set
992CONFIG_CRYPTO_DES=m
993# CONFIG_CRYPTO_BLOWFISH is not set
994# CONFIG_CRYPTO_TWOFISH is not set
995# CONFIG_CRYPTO_SERPENT is not set
996# CONFIG_CRYPTO_AES is not set
997# CONFIG_CRYPTO_CAST5 is not set
998# CONFIG_CRYPTO_CAST6 is not set
999# CONFIG_CRYPTO_TEA is not set
1000# CONFIG_CRYPTO_ARC4 is not set
1001# CONFIG_CRYPTO_KHAZAD is not set
1002# CONFIG_CRYPTO_ANUBIS is not set
1003CONFIG_CRYPTO_DEFLATE=m
1004# CONFIG_CRYPTO_MICHAEL_MIC is not set
1005# CONFIG_CRYPTO_CRC32C is not set
1006# CONFIG_CRYPTO_TEST is not set
1007
1008#
1009# Hardware crypto devices
1010#
1011
1012#
1013# Library routines
1014#
1015# CONFIG_CRC_CCITT is not set
1016# CONFIG_CRC16 is not set
1017CONFIG_CRC32=y
1018# CONFIG_LIBCRC32C is not set
1019CONFIG_ZLIB_INFLATE=m
1020CONFIG_ZLIB_DEFLATE=m
1021CONFIG_TEXTSEARCH=y
1022CONFIG_TEXTSEARCH_KMP=m
1023CONFIG_TEXTSEARCH_BM=m
1024CONFIG_TEXTSEARCH_FSM=m
diff --git a/arch/ppc64/configs/g5_defconfig b/arch/ppc64/configs/g5_defconfig
deleted file mode 100644
index 6323065fbf2c..000000000000
--- a/arch/ppc64/configs/g5_defconfig
+++ /dev/null
@@ -1,1392 +0,0 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.14-rc4
4# Thu Oct 20 08:30:23 2005
5#
6CONFIG_64BIT=y
7CONFIG_MMU=y
8CONFIG_RWSEM_XCHGADD_ALGORITHM=y
9CONFIG_GENERIC_CALIBRATE_DELAY=y
10CONFIG_GENERIC_ISA_DMA=y
11CONFIG_EARLY_PRINTK=y
12CONFIG_COMPAT=y
13CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
14CONFIG_ARCH_MAY_HAVE_PC_FDC=y
15CONFIG_FORCE_MAX_ZONEORDER=13
16
17#
18# Code maturity level options
19#
20CONFIG_EXPERIMENTAL=y
21CONFIG_CLEAN_COMPILE=y
22CONFIG_LOCK_KERNEL=y
23CONFIG_INIT_ENV_ARG_LIMIT=32
24
25#
26# General setup
27#
28CONFIG_LOCALVERSION=""
29CONFIG_LOCALVERSION_AUTO=y
30CONFIG_SWAP=y
31CONFIG_SYSVIPC=y
32CONFIG_POSIX_MQUEUE=y
33# CONFIG_BSD_PROCESS_ACCT is not set
34CONFIG_SYSCTL=y
35# CONFIG_AUDIT is not set
36CONFIG_HOTPLUG=y
37CONFIG_KOBJECT_UEVENT=y
38CONFIG_IKCONFIG=y
39CONFIG_IKCONFIG_PROC=y
40# CONFIG_CPUSETS is not set
41CONFIG_INITRAMFS_SOURCE=""
42# CONFIG_EMBEDDED is not set
43CONFIG_KALLSYMS=y
44# CONFIG_KALLSYMS_ALL is not set
45# CONFIG_KALLSYMS_EXTRA_PASS is not set
46CONFIG_PRINTK=y
47CONFIG_BUG=y
48CONFIG_BASE_FULL=y
49CONFIG_FUTEX=y
50CONFIG_EPOLL=y
51CONFIG_SHMEM=y
52CONFIG_CC_ALIGN_FUNCTIONS=0
53CONFIG_CC_ALIGN_LABELS=0
54CONFIG_CC_ALIGN_LOOPS=0
55CONFIG_CC_ALIGN_JUMPS=0
56# CONFIG_TINY_SHMEM is not set
57CONFIG_BASE_SMALL=0
58
59#
60# Loadable module support
61#
62CONFIG_MODULES=y
63CONFIG_MODULE_UNLOAD=y
64# CONFIG_MODULE_FORCE_UNLOAD is not set
65CONFIG_OBSOLETE_MODPARM=y
66CONFIG_MODVERSIONS=y
67CONFIG_MODULE_SRCVERSION_ALL=y
68CONFIG_KMOD=y
69CONFIG_STOP_MACHINE=y
70CONFIG_SYSVIPC_COMPAT=y
71
72#
73# Platform support
74#
75# CONFIG_PPC_ISERIES is not set
76CONFIG_PPC_MULTIPLATFORM=y
77# CONFIG_PPC_PSERIES is not set
78# CONFIG_PPC_BPA is not set
79CONFIG_PPC_PMAC=y
80# CONFIG_PPC_MAPLE is not set
81CONFIG_PPC=y
82CONFIG_PPC64=y
83CONFIG_PPC_OF=y
84CONFIG_MPIC=y
85CONFIG_ALTIVEC=y
86CONFIG_KEXEC=y
87CONFIG_U3_DART=y
88CONFIG_PPC_PMAC64=y
89CONFIG_BOOTX_TEXT=y
90CONFIG_POWER4_ONLY=y
91CONFIG_IOMMU_VMERGE=y
92CONFIG_SMP=y
93CONFIG_NR_CPUS=2
94CONFIG_ARCH_SELECT_MEMORY_MODEL=y
95CONFIG_ARCH_FLATMEM_ENABLE=y
96CONFIG_SELECT_MEMORY_MODEL=y
97CONFIG_FLATMEM_MANUAL=y
98# CONFIG_DISCONTIGMEM_MANUAL is not set
99# CONFIG_SPARSEMEM_MANUAL is not set
100CONFIG_FLATMEM=y
101CONFIG_FLAT_NODE_MEM_MAP=y
102# CONFIG_SPARSEMEM_STATIC is not set
103# CONFIG_NUMA is not set
104# CONFIG_SCHED_SMT is not set
105CONFIG_PREEMPT_NONE=y
106# CONFIG_PREEMPT_VOLUNTARY is not set
107# CONFIG_PREEMPT is not set
108# CONFIG_PREEMPT_BKL is not set
109# CONFIG_HZ_100 is not set
110CONFIG_HZ_250=y
111# CONFIG_HZ_1000 is not set
112CONFIG_HZ=250
113CONFIG_GENERIC_HARDIRQS=y
114CONFIG_SECCOMP=y
115CONFIG_BINFMT_ELF=y
116# CONFIG_BINFMT_MISC is not set
117# CONFIG_HOTPLUG_CPU is not set
118CONFIG_PROC_DEVICETREE=y
119# CONFIG_CMDLINE_BOOL is not set
120CONFIG_ISA_DMA_API=y
121
122#
123# Bus Options
124#
125CONFIG_PCI=y
126CONFIG_PCI_DOMAINS=y
127CONFIG_PCI_LEGACY_PROC=y
128# CONFIG_PCI_DEBUG is not set
129
130#
131# PCCARD (PCMCIA/CardBus) support
132#
133# CONFIG_PCCARD is not set
134
135#
136# PCI Hotplug Support
137#
138# CONFIG_HOTPLUG_PCI is not set
139
140#
141# Networking
142#
143CONFIG_NET=y
144
145#
146# Networking options
147#
148CONFIG_PACKET=y
149# CONFIG_PACKET_MMAP is not set
150CONFIG_UNIX=y
151CONFIG_XFRM=y
152CONFIG_XFRM_USER=m
153CONFIG_NET_KEY=m
154CONFIG_INET=y
155CONFIG_IP_MULTICAST=y
156# CONFIG_IP_ADVANCED_ROUTER is not set
157CONFIG_IP_FIB_HASH=y
158# CONFIG_IP_PNP is not set
159CONFIG_NET_IPIP=y
160# CONFIG_NET_IPGRE is not set
161# CONFIG_IP_MROUTE is not set
162# CONFIG_ARPD is not set
163CONFIG_SYN_COOKIES=y
164CONFIG_INET_AH=m
165CONFIG_INET_ESP=m
166CONFIG_INET_IPCOMP=m
167CONFIG_INET_TUNNEL=y
168CONFIG_INET_DIAG=y
169CONFIG_INET_TCP_DIAG=y
170# CONFIG_TCP_CONG_ADVANCED is not set
171CONFIG_TCP_CONG_BIC=y
172
173#
174# IP: Virtual Server Configuration
175#
176# CONFIG_IP_VS is not set
177# CONFIG_IPV6 is not set
178CONFIG_NETFILTER=y
179# CONFIG_NETFILTER_DEBUG is not set
180# CONFIG_NETFILTER_NETLINK is not set
181
182#
183# IP: Netfilter Configuration
184#
185CONFIG_IP_NF_CONNTRACK=m
186CONFIG_IP_NF_CT_ACCT=y
187CONFIG_IP_NF_CONNTRACK_MARK=y
188CONFIG_IP_NF_CONNTRACK_EVENTS=y
189CONFIG_IP_NF_CT_PROTO_SCTP=m
190CONFIG_IP_NF_FTP=m
191CONFIG_IP_NF_IRC=m
192# CONFIG_IP_NF_NETBIOS_NS is not set
193CONFIG_IP_NF_TFTP=m
194CONFIG_IP_NF_AMANDA=m
195# CONFIG_IP_NF_PPTP is not set
196CONFIG_IP_NF_QUEUE=m
197CONFIG_IP_NF_IPTABLES=m
198CONFIG_IP_NF_MATCH_LIMIT=m
199CONFIG_IP_NF_MATCH_IPRANGE=m
200CONFIG_IP_NF_MATCH_MAC=m
201CONFIG_IP_NF_MATCH_PKTTYPE=m
202CONFIG_IP_NF_MATCH_MARK=m
203CONFIG_IP_NF_MATCH_MULTIPORT=m
204CONFIG_IP_NF_MATCH_TOS=m
205CONFIG_IP_NF_MATCH_RECENT=m
206CONFIG_IP_NF_MATCH_ECN=m
207CONFIG_IP_NF_MATCH_DSCP=m
208CONFIG_IP_NF_MATCH_AH_ESP=m
209CONFIG_IP_NF_MATCH_LENGTH=m
210CONFIG_IP_NF_MATCH_TTL=m
211CONFIG_IP_NF_MATCH_TCPMSS=m
212CONFIG_IP_NF_MATCH_HELPER=m
213CONFIG_IP_NF_MATCH_STATE=m
214CONFIG_IP_NF_MATCH_CONNTRACK=m
215CONFIG_IP_NF_MATCH_OWNER=m
216CONFIG_IP_NF_MATCH_ADDRTYPE=m
217CONFIG_IP_NF_MATCH_REALM=m
218CONFIG_IP_NF_MATCH_SCTP=m
219# CONFIG_IP_NF_MATCH_DCCP is not set
220CONFIG_IP_NF_MATCH_COMMENT=m
221CONFIG_IP_NF_MATCH_CONNMARK=m
222CONFIG_IP_NF_MATCH_CONNBYTES=m
223CONFIG_IP_NF_MATCH_HASHLIMIT=m
224CONFIG_IP_NF_MATCH_STRING=m
225CONFIG_IP_NF_FILTER=m
226CONFIG_IP_NF_TARGET_REJECT=m
227CONFIG_IP_NF_TARGET_LOG=m
228CONFIG_IP_NF_TARGET_ULOG=m
229CONFIG_IP_NF_TARGET_TCPMSS=m
230CONFIG_IP_NF_TARGET_NFQUEUE=m
231CONFIG_IP_NF_NAT=m
232CONFIG_IP_NF_NAT_NEEDED=y
233CONFIG_IP_NF_TARGET_MASQUERADE=m
234CONFIG_IP_NF_TARGET_REDIRECT=m
235CONFIG_IP_NF_TARGET_NETMAP=m
236CONFIG_IP_NF_TARGET_SAME=m
237CONFIG_IP_NF_NAT_SNMP_BASIC=m
238CONFIG_IP_NF_NAT_IRC=m
239CONFIG_IP_NF_NAT_FTP=m
240CONFIG_IP_NF_NAT_TFTP=m
241CONFIG_IP_NF_NAT_AMANDA=m
242CONFIG_IP_NF_MANGLE=m
243CONFIG_IP_NF_TARGET_TOS=m
244CONFIG_IP_NF_TARGET_ECN=m
245CONFIG_IP_NF_TARGET_DSCP=m
246CONFIG_IP_NF_TARGET_MARK=m
247CONFIG_IP_NF_TARGET_CLASSIFY=m
248CONFIG_IP_NF_TARGET_TTL=m
249CONFIG_IP_NF_TARGET_CONNMARK=m
250CONFIG_IP_NF_TARGET_CLUSTERIP=m
251CONFIG_IP_NF_RAW=m
252CONFIG_IP_NF_TARGET_NOTRACK=m
253CONFIG_IP_NF_ARPTABLES=m
254CONFIG_IP_NF_ARPFILTER=m
255CONFIG_IP_NF_ARP_MANGLE=m
256
257#
258# DCCP Configuration (EXPERIMENTAL)
259#
260# CONFIG_IP_DCCP is not set
261
262#
263# SCTP Configuration (EXPERIMENTAL)
264#
265# CONFIG_IP_SCTP is not set
266# CONFIG_ATM is not set
267# CONFIG_BRIDGE is not set
268# CONFIG_VLAN_8021Q is not set
269# CONFIG_DECNET is not set
270CONFIG_LLC=y
271# CONFIG_LLC2 is not set
272# CONFIG_IPX is not set
273# CONFIG_ATALK is not set
274# CONFIG_X25 is not set
275# CONFIG_LAPB is not set
276# CONFIG_NET_DIVERT is not set
277# CONFIG_ECONET is not set
278# CONFIG_WAN_ROUTER is not set
279# CONFIG_NET_SCHED is not set
280CONFIG_NET_CLS_ROUTE=y
281
282#
283# Network testing
284#
285# CONFIG_NET_PKTGEN is not set
286# CONFIG_HAMRADIO is not set
287# CONFIG_IRDA is not set
288# CONFIG_BT is not set
289# CONFIG_IEEE80211 is not set
290
291#
292# Device Drivers
293#
294
295#
296# Generic Driver Options
297#
298CONFIG_STANDALONE=y
299CONFIG_PREVENT_FIRMWARE_BUILD=y
300CONFIG_FW_LOADER=y
301# CONFIG_DEBUG_DRIVER is not set
302
303#
304# Connector - unified userspace <-> kernelspace linker
305#
306# CONFIG_CONNECTOR is not set
307
308#
309# Memory Technology Devices (MTD)
310#
311# CONFIG_MTD is not set
312
313#
314# Parallel port support
315#
316# CONFIG_PARPORT is not set
317
318#
319# Plug and Play support
320#
321
322#
323# Block devices
324#
325# CONFIG_BLK_DEV_FD is not set
326# CONFIG_BLK_CPQ_DA is not set
327# CONFIG_BLK_CPQ_CISS_DA is not set
328# CONFIG_BLK_DEV_DAC960 is not set
329# CONFIG_BLK_DEV_UMEM is not set
330# CONFIG_BLK_DEV_COW_COMMON is not set
331CONFIG_BLK_DEV_LOOP=y
332# CONFIG_BLK_DEV_CRYPTOLOOP is not set
333CONFIG_BLK_DEV_NBD=m
334# CONFIG_BLK_DEV_SX8 is not set
335# CONFIG_BLK_DEV_UB is not set
336CONFIG_BLK_DEV_RAM=y
337CONFIG_BLK_DEV_RAM_COUNT=16
338CONFIG_BLK_DEV_RAM_SIZE=65536
339CONFIG_BLK_DEV_INITRD=y
340CONFIG_CDROM_PKTCDVD=m
341CONFIG_CDROM_PKTCDVD_BUFFERS=8
342# CONFIG_CDROM_PKTCDVD_WCACHE is not set
343
344#
345# IO Schedulers
346#
347CONFIG_IOSCHED_NOOP=y
348CONFIG_IOSCHED_AS=y
349CONFIG_IOSCHED_DEADLINE=y
350CONFIG_IOSCHED_CFQ=y
351# CONFIG_ATA_OVER_ETH is not set
352
353#
354# ATA/ATAPI/MFM/RLL support
355#
356CONFIG_IDE=y
357CONFIG_BLK_DEV_IDE=y
358
359#
360# Please see Documentation/ide.txt for help/info on IDE drives
361#
362# CONFIG_BLK_DEV_IDE_SATA is not set
363CONFIG_BLK_DEV_IDEDISK=y
364# CONFIG_IDEDISK_MULTI_MODE is not set
365CONFIG_BLK_DEV_IDECD=y
366# CONFIG_BLK_DEV_IDETAPE is not set
367# CONFIG_BLK_DEV_IDEFLOPPY is not set
368# CONFIG_BLK_DEV_IDESCSI is not set
369# CONFIG_IDE_TASK_IOCTL is not set
370
371#
372# IDE chipset support/bugfixes
373#
374CONFIG_IDE_GENERIC=y
375CONFIG_BLK_DEV_IDEPCI=y
376# CONFIG_IDEPCI_SHARE_IRQ is not set
377# CONFIG_BLK_DEV_OFFBOARD is not set
378# CONFIG_BLK_DEV_GENERIC is not set
379# CONFIG_BLK_DEV_OPTI621 is not set
380# CONFIG_BLK_DEV_SL82C105 is not set
381CONFIG_BLK_DEV_IDEDMA_PCI=y
382# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
383CONFIG_IDEDMA_PCI_AUTO=y
384# CONFIG_IDEDMA_ONLYDISK is not set
385# CONFIG_BLK_DEV_AEC62XX is not set
386# CONFIG_BLK_DEV_ALI15X3 is not set
387# CONFIG_BLK_DEV_AMD74XX is not set
388# CONFIG_BLK_DEV_CMD64X is not set
389# CONFIG_BLK_DEV_TRIFLEX is not set
390# CONFIG_BLK_DEV_CY82C693 is not set
391# CONFIG_BLK_DEV_CS5520 is not set
392# CONFIG_BLK_DEV_CS5530 is not set
393# CONFIG_BLK_DEV_HPT34X is not set
394# CONFIG_BLK_DEV_HPT366 is not set
395# CONFIG_BLK_DEV_SC1200 is not set
396# CONFIG_BLK_DEV_PIIX is not set
397# CONFIG_BLK_DEV_IT821X is not set
398# CONFIG_BLK_DEV_NS87415 is not set
399# CONFIG_BLK_DEV_PDC202XX_OLD is not set
400# CONFIG_BLK_DEV_PDC202XX_NEW is not set
401# CONFIG_BLK_DEV_SVWKS is not set
402# CONFIG_BLK_DEV_SIIMAGE is not set
403# CONFIG_BLK_DEV_SLC90E66 is not set
404# CONFIG_BLK_DEV_TRM290 is not set
405# CONFIG_BLK_DEV_VIA82CXXX is not set
406CONFIG_BLK_DEV_IDE_PMAC=y
407CONFIG_BLK_DEV_IDE_PMAC_ATA100FIRST=y
408CONFIG_BLK_DEV_IDEDMA_PMAC=y
409# CONFIG_BLK_DEV_IDE_PMAC_BLINK is not set
410# CONFIG_IDE_ARM is not set
411CONFIG_BLK_DEV_IDEDMA=y
412# CONFIG_IDEDMA_IVB is not set
413CONFIG_IDEDMA_AUTO=y
414# CONFIG_BLK_DEV_HD is not set
415
416#
417# SCSI device support
418#
419# CONFIG_RAID_ATTRS is not set
420CONFIG_SCSI=y
421CONFIG_SCSI_PROC_FS=y
422
423#
424# SCSI support type (disk, tape, CD-ROM)
425#
426CONFIG_BLK_DEV_SD=y
427CONFIG_CHR_DEV_ST=y
428# CONFIG_CHR_DEV_OSST is not set
429CONFIG_BLK_DEV_SR=y
430CONFIG_BLK_DEV_SR_VENDOR=y
431CONFIG_CHR_DEV_SG=y
432# CONFIG_CHR_DEV_SCH is not set
433
434#
435# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
436#
437CONFIG_SCSI_MULTI_LUN=y
438CONFIG_SCSI_CONSTANTS=y
439# CONFIG_SCSI_LOGGING is not set
440
441#
442# SCSI Transport Attributes
443#
444CONFIG_SCSI_SPI_ATTRS=y
445# CONFIG_SCSI_FC_ATTRS is not set
446# CONFIG_SCSI_ISCSI_ATTRS is not set
447# CONFIG_SCSI_SAS_ATTRS is not set
448
449#
450# SCSI low-level drivers
451#
452# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
453# CONFIG_SCSI_3W_9XXX is not set
454# CONFIG_SCSI_ACARD is not set
455# CONFIG_SCSI_AACRAID is not set
456# CONFIG_SCSI_AIC7XXX is not set
457# CONFIG_SCSI_AIC7XXX_OLD is not set
458# CONFIG_SCSI_AIC79XX is not set
459# CONFIG_MEGARAID_NEWGEN is not set
460# CONFIG_MEGARAID_LEGACY is not set
461# CONFIG_MEGARAID_SAS is not set
462CONFIG_SCSI_SATA=y
463# CONFIG_SCSI_SATA_AHCI is not set
464CONFIG_SCSI_SATA_SVW=y
465# CONFIG_SCSI_ATA_PIIX is not set
466# CONFIG_SCSI_SATA_MV is not set
467# CONFIG_SCSI_SATA_NV is not set
468# CONFIG_SCSI_SATA_PROMISE is not set
469# CONFIG_SCSI_SATA_QSTOR is not set
470# CONFIG_SCSI_SATA_SX4 is not set
471# CONFIG_SCSI_SATA_SIL is not set
472# CONFIG_SCSI_SATA_SIS is not set
473# CONFIG_SCSI_SATA_ULI is not set
474# CONFIG_SCSI_SATA_VIA is not set
475# CONFIG_SCSI_SATA_VITESSE is not set
476# CONFIG_SCSI_BUSLOGIC is not set
477# CONFIG_SCSI_DMX3191D is not set
478# CONFIG_SCSI_EATA is not set
479# CONFIG_SCSI_FUTURE_DOMAIN is not set
480# CONFIG_SCSI_GDTH is not set
481# CONFIG_SCSI_IPS is not set
482# CONFIG_SCSI_INITIO is not set
483# CONFIG_SCSI_INIA100 is not set
484# CONFIG_SCSI_SYM53C8XX_2 is not set
485# CONFIG_SCSI_IPR is not set
486# CONFIG_SCSI_QLOGIC_FC is not set
487# CONFIG_SCSI_QLOGIC_1280 is not set
488CONFIG_SCSI_QLA2XXX=y
489# CONFIG_SCSI_QLA21XX is not set
490# CONFIG_SCSI_QLA22XX is not set
491# CONFIG_SCSI_QLA2300 is not set
492# CONFIG_SCSI_QLA2322 is not set
493# CONFIG_SCSI_QLA6312 is not set
494# CONFIG_SCSI_QLA24XX is not set
495# CONFIG_SCSI_LPFC is not set
496# CONFIG_SCSI_DC395x is not set
497# CONFIG_SCSI_DC390T is not set
498# CONFIG_SCSI_DEBUG is not set
499
500#
501# Multi-device support (RAID and LVM)
502#
503CONFIG_MD=y
504CONFIG_BLK_DEV_MD=y
505CONFIG_MD_LINEAR=y
506CONFIG_MD_RAID0=y
507CONFIG_MD_RAID1=y
508CONFIG_MD_RAID10=m
509CONFIG_MD_RAID5=y
510CONFIG_MD_RAID6=m
511CONFIG_MD_MULTIPATH=m
512CONFIG_MD_FAULTY=m
513CONFIG_BLK_DEV_DM=y
514CONFIG_DM_CRYPT=m
515CONFIG_DM_SNAPSHOT=m
516CONFIG_DM_MIRROR=m
517CONFIG_DM_ZERO=m
518# CONFIG_DM_MULTIPATH is not set
519
520#
521# Fusion MPT device support
522#
523# CONFIG_FUSION is not set
524# CONFIG_FUSION_SPI is not set
525# CONFIG_FUSION_FC is not set
526# CONFIG_FUSION_SAS is not set
527
528#
529# IEEE 1394 (FireWire) support
530#
531CONFIG_IEEE1394=y
532
533#
534# Subsystem Options
535#
536# CONFIG_IEEE1394_VERBOSEDEBUG is not set
537CONFIG_IEEE1394_OUI_DB=y
538CONFIG_IEEE1394_EXTRA_CONFIG_ROMS=y
539CONFIG_IEEE1394_CONFIG_ROM_IP1394=y
540# CONFIG_IEEE1394_EXPORT_FULL_API is not set
541
542#
543# Device Drivers
544#
545# CONFIG_IEEE1394_PCILYNX is not set
546CONFIG_IEEE1394_OHCI1394=y
547
548#
549# Protocol Drivers
550#
551CONFIG_IEEE1394_VIDEO1394=m
552CONFIG_IEEE1394_SBP2=m
553# CONFIG_IEEE1394_SBP2_PHYS_DMA is not set
554CONFIG_IEEE1394_ETH1394=m
555CONFIG_IEEE1394_DV1394=m
556CONFIG_IEEE1394_RAWIO=y
557# CONFIG_IEEE1394_CMP is not set
558
559#
560# I2O device support
561#
562# CONFIG_I2O is not set
563
564#
565# Macintosh device drivers
566#
567CONFIG_ADB_PMU=y
568CONFIG_PMAC_SMU=y
569CONFIG_THERM_PM72=y
570
571#
572# Network device support
573#
574CONFIG_NETDEVICES=y
575CONFIG_DUMMY=m
576CONFIG_BONDING=m
577# CONFIG_EQUALIZER is not set
578CONFIG_TUN=m
579
580#
581# ARCnet devices
582#
583# CONFIG_ARCNET is not set
584
585#
586# PHY device support
587#
588# CONFIG_PHYLIB is not set
589
590#
591# Ethernet (10 or 100Mbit)
592#
593CONFIG_NET_ETHERNET=y
594CONFIG_MII=y
595# CONFIG_HAPPYMEAL is not set
596CONFIG_SUNGEM=y
597# CONFIG_CASSINI is not set
598# CONFIG_NET_VENDOR_3COM is not set
599
600#
601# Tulip family network device support
602#
603# CONFIG_NET_TULIP is not set
604# CONFIG_HP100 is not set
605# CONFIG_NET_PCI is not set
606
607#
608# Ethernet (1000 Mbit)
609#
610CONFIG_ACENIC=y
611CONFIG_ACENIC_OMIT_TIGON_I=y
612# CONFIG_DL2K is not set
613CONFIG_E1000=y
614# CONFIG_E1000_NAPI is not set
615# CONFIG_NS83820 is not set
616# CONFIG_HAMACHI is not set
617# CONFIG_YELLOWFIN is not set
618# CONFIG_R8169 is not set
619# CONFIG_SIS190 is not set
620# CONFIG_SKGE is not set
621# CONFIG_SK98LIN is not set
622CONFIG_TIGON3=m
623# CONFIG_BNX2 is not set
624# CONFIG_MV643XX_ETH is not set
625
626#
627# Ethernet (10000 Mbit)
628#
629# CONFIG_CHELSIO_T1 is not set
630# CONFIG_IXGB is not set
631# CONFIG_S2IO is not set
632
633#
634# Token Ring devices
635#
636CONFIG_TR=y
637CONFIG_IBMOL=y
638# CONFIG_3C359 is not set
639# CONFIG_TMS380TR is not set
640
641#
642# Wireless LAN (non-hamradio)
643#
644# CONFIG_NET_RADIO is not set
645
646#
647# Wan interfaces
648#
649# CONFIG_WAN is not set
650# CONFIG_FDDI is not set
651# CONFIG_HIPPI is not set
652CONFIG_PPP=m
653# CONFIG_PPP_MULTILINK is not set
654# CONFIG_PPP_FILTER is not set
655CONFIG_PPP_ASYNC=m
656CONFIG_PPP_SYNC_TTY=m
657CONFIG_PPP_DEFLATE=m
658CONFIG_PPP_BSDCOMP=m
659CONFIG_PPPOE=m
660# CONFIG_SLIP is not set
661# CONFIG_NET_FC is not set
662# CONFIG_SHAPER is not set
663# CONFIG_NETCONSOLE is not set
664# CONFIG_NETPOLL is not set
665# CONFIG_NET_POLL_CONTROLLER is not set
666
667#
668# ISDN subsystem
669#
670# CONFIG_ISDN is not set
671
672#
673# Telephony Support
674#
675# CONFIG_PHONE is not set
676
677#
678# Input device support
679#
680CONFIG_INPUT=y
681
682#
683# Userland interfaces
684#
685CONFIG_INPUT_MOUSEDEV=y
686# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
687CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
688CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
689CONFIG_INPUT_JOYDEV=m
690# CONFIG_INPUT_TSDEV is not set
691CONFIG_INPUT_EVDEV=y
692# CONFIG_INPUT_EVBUG is not set
693
694#
695# Input Device Drivers
696#
697CONFIG_INPUT_KEYBOARD=y
698# CONFIG_KEYBOARD_ATKBD is not set
699# CONFIG_KEYBOARD_SUNKBD is not set
700# CONFIG_KEYBOARD_LKKBD is not set
701# CONFIG_KEYBOARD_XTKBD is not set
702# CONFIG_KEYBOARD_NEWTON is not set
703CONFIG_INPUT_MOUSE=y
704# CONFIG_MOUSE_PS2 is not set
705# CONFIG_MOUSE_SERIAL is not set
706# CONFIG_MOUSE_VSXXXAA is not set
707# CONFIG_INPUT_JOYSTICK is not set
708# CONFIG_INPUT_TOUCHSCREEN is not set
709# CONFIG_INPUT_MISC is not set
710
711#
712# Hardware I/O ports
713#
714CONFIG_SERIO=y
715# CONFIG_SERIO_I8042 is not set
716# CONFIG_SERIO_SERPORT is not set
717# CONFIG_SERIO_PCIPS2 is not set
718# CONFIG_SERIO_RAW is not set
719# CONFIG_GAMEPORT is not set
720
721#
722# Character devices
723#
724CONFIG_VT=y
725CONFIG_VT_CONSOLE=y
726CONFIG_HW_CONSOLE=y
727# CONFIG_SERIAL_NONSTANDARD is not set
728
729#
730# Serial drivers
731#
732# CONFIG_SERIAL_8250 is not set
733
734#
735# Non-8250 serial port support
736#
737# CONFIG_SERIAL_PMACZILOG is not set
738# CONFIG_SERIAL_JSM is not set
739CONFIG_UNIX98_PTYS=y
740CONFIG_LEGACY_PTYS=y
741CONFIG_LEGACY_PTY_COUNT=256
742
743#
744# IPMI
745#
746# CONFIG_IPMI_HANDLER is not set
747
748#
749# Watchdog Cards
750#
751# CONFIG_WATCHDOG is not set
752# CONFIG_RTC is not set
753# CONFIG_DTLK is not set
754# CONFIG_R3964 is not set
755# CONFIG_APPLICOM is not set
756
757#
758# Ftape, the floppy tape device driver
759#
760CONFIG_AGP=m
761CONFIG_AGP_UNINORTH=m
762# CONFIG_DRM is not set
763CONFIG_RAW_DRIVER=y
764CONFIG_MAX_RAW_DEVS=256
765# CONFIG_HANGCHECK_TIMER is not set
766
767#
768# TPM devices
769#
770# CONFIG_TCG_TPM is not set
771
772#
773# I2C support
774#
775CONFIG_I2C=y
776CONFIG_I2C_CHARDEV=y
777
778#
779# I2C Algorithms
780#
781CONFIG_I2C_ALGOBIT=y
782# CONFIG_I2C_ALGOPCF is not set
783# CONFIG_I2C_ALGOPCA is not set
784
785#
786# I2C Hardware Bus support
787#
788# CONFIG_I2C_ALI1535 is not set
789# CONFIG_I2C_ALI1563 is not set
790# CONFIG_I2C_ALI15X3 is not set
791# CONFIG_I2C_AMD756 is not set
792# CONFIG_I2C_AMD8111 is not set
793# CONFIG_I2C_I801 is not set
794# CONFIG_I2C_I810 is not set
795# CONFIG_I2C_PIIX4 is not set
796CONFIG_I2C_KEYWEST=y
797CONFIG_I2C_PMAC_SMU=y
798# CONFIG_I2C_NFORCE2 is not set
799# CONFIG_I2C_PARPORT_LIGHT is not set
800# CONFIG_I2C_PROSAVAGE is not set
801# CONFIG_I2C_SAVAGE4 is not set
802# CONFIG_SCx200_ACB is not set
803# CONFIG_I2C_SIS5595 is not set
804# CONFIG_I2C_SIS630 is not set
805# CONFIG_I2C_SIS96X is not set
806# CONFIG_I2C_STUB is not set
807# CONFIG_I2C_VIA is not set
808# CONFIG_I2C_VIAPRO is not set
809# CONFIG_I2C_VOODOO3 is not set
810# CONFIG_I2C_PCA_ISA is not set
811
812#
813# Miscellaneous I2C Chip support
814#
815# CONFIG_SENSORS_DS1337 is not set
816# CONFIG_SENSORS_DS1374 is not set
817# CONFIG_SENSORS_EEPROM is not set
818# CONFIG_SENSORS_PCF8574 is not set
819# CONFIG_SENSORS_PCA9539 is not set
820# CONFIG_SENSORS_PCF8591 is not set
821# CONFIG_SENSORS_RTC8564 is not set
822# CONFIG_SENSORS_MAX6875 is not set
823# CONFIG_I2C_DEBUG_CORE is not set
824# CONFIG_I2C_DEBUG_ALGO is not set
825# CONFIG_I2C_DEBUG_BUS is not set
826# CONFIG_I2C_DEBUG_CHIP is not set
827
828#
829# Dallas's 1-wire bus
830#
831# CONFIG_W1 is not set
832
833#
834# Hardware Monitoring support
835#
836# CONFIG_HWMON is not set
837# CONFIG_HWMON_VID is not set
838
839#
840# Misc devices
841#
842
843#
844# Multimedia Capabilities Port drivers
845#
846
847#
848# Multimedia devices
849#
850# CONFIG_VIDEO_DEV is not set
851
852#
853# Digital Video Broadcasting Devices
854#
855# CONFIG_DVB is not set
856
857#
858# Graphics support
859#
860CONFIG_FB=y
861CONFIG_FB_CFB_FILLRECT=y
862CONFIG_FB_CFB_COPYAREA=y
863CONFIG_FB_CFB_IMAGEBLIT=y
864CONFIG_FB_SOFT_CURSOR=y
865CONFIG_FB_MACMODES=y
866CONFIG_FB_MODE_HELPERS=y
867CONFIG_FB_TILEBLITTING=y
868# CONFIG_FB_CIRRUS is not set
869# CONFIG_FB_PM2 is not set
870# CONFIG_FB_CYBER2000 is not set
871CONFIG_FB_OF=y
872# CONFIG_FB_CONTROL is not set
873# CONFIG_FB_PLATINUM is not set
874# CONFIG_FB_VALKYRIE is not set
875# CONFIG_FB_CT65550 is not set
876# CONFIG_FB_ASILIANT is not set
877# CONFIG_FB_IMSTT is not set
878# CONFIG_FB_VGA16 is not set
879# CONFIG_FB_NVIDIA is not set
880CONFIG_FB_RIVA=y
881# CONFIG_FB_RIVA_I2C is not set
882# CONFIG_FB_RIVA_DEBUG is not set
883# CONFIG_FB_MATROX is not set
884# CONFIG_FB_RADEON_OLD is not set
885CONFIG_FB_RADEON=y
886CONFIG_FB_RADEON_I2C=y
887# CONFIG_FB_RADEON_DEBUG is not set
888# CONFIG_FB_ATY128 is not set
889# CONFIG_FB_ATY is not set
890# CONFIG_FB_SAVAGE is not set
891# CONFIG_FB_SIS is not set
892# CONFIG_FB_NEOMAGIC is not set
893# CONFIG_FB_KYRO is not set
894# CONFIG_FB_3DFX is not set
895# CONFIG_FB_VOODOO1 is not set
896# CONFIG_FB_CYBLA is not set
897# CONFIG_FB_TRIDENT is not set
898# CONFIG_FB_S1D13XXX is not set
899# CONFIG_FB_VIRTUAL is not set
900
901#
902# Console display driver support
903#
904# CONFIG_VGA_CONSOLE is not set
905CONFIG_DUMMY_CONSOLE=y
906CONFIG_FRAMEBUFFER_CONSOLE=y
907# CONFIG_FONTS is not set
908CONFIG_FONT_8x8=y
909CONFIG_FONT_8x16=y
910
911#
912# Logo configuration
913#
914CONFIG_LOGO=y
915CONFIG_LOGO_LINUX_MONO=y
916CONFIG_LOGO_LINUX_VGA16=y
917CONFIG_LOGO_LINUX_CLUT224=y
918CONFIG_BACKLIGHT_LCD_SUPPORT=y
919CONFIG_BACKLIGHT_CLASS_DEVICE=m
920CONFIG_BACKLIGHT_DEVICE=y
921CONFIG_LCD_CLASS_DEVICE=m
922CONFIG_LCD_DEVICE=y
923
924#
925# Sound
926#
927# CONFIG_SOUND is not set
928
929#
930# USB support
931#
932CONFIG_USB_ARCH_HAS_HCD=y
933CONFIG_USB_ARCH_HAS_OHCI=y
934CONFIG_USB=y
935# CONFIG_USB_DEBUG is not set
936
937#
938# Miscellaneous USB options
939#
940CONFIG_USB_DEVICEFS=y
941# CONFIG_USB_BANDWIDTH is not set
942# CONFIG_USB_DYNAMIC_MINORS is not set
943# CONFIG_USB_OTG is not set
944
945#
946# USB Host Controller Drivers
947#
948CONFIG_USB_EHCI_HCD=y
949# CONFIG_USB_EHCI_SPLIT_ISO is not set
950# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
951# CONFIG_USB_ISP116X_HCD is not set
952CONFIG_USB_OHCI_HCD=y
953# CONFIG_USB_OHCI_BIG_ENDIAN is not set
954CONFIG_USB_OHCI_LITTLE_ENDIAN=y
955# CONFIG_USB_UHCI_HCD is not set
956# CONFIG_USB_SL811_HCD is not set
957
958#
959# USB Device Class drivers
960#
961# CONFIG_USB_BLUETOOTH_TTY is not set
962CONFIG_USB_ACM=m
963CONFIG_USB_PRINTER=y
964
965#
966# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
967#
968CONFIG_USB_STORAGE=y
969# CONFIG_USB_STORAGE_DEBUG is not set
970CONFIG_USB_STORAGE_DATAFAB=y
971CONFIG_USB_STORAGE_FREECOM=y
972CONFIG_USB_STORAGE_ISD200=y
973CONFIG_USB_STORAGE_DPCM=y
974# CONFIG_USB_STORAGE_USBAT is not set
975CONFIG_USB_STORAGE_SDDR09=y
976CONFIG_USB_STORAGE_SDDR55=y
977CONFIG_USB_STORAGE_JUMPSHOT=y
978# CONFIG_USB_STORAGE_ONETOUCH is not set
979
980#
981# USB Input Devices
982#
983CONFIG_USB_HID=y
984CONFIG_USB_HIDINPUT=y
985CONFIG_HID_FF=y
986CONFIG_HID_PID=y
987CONFIG_LOGITECH_FF=y
988CONFIG_THRUSTMASTER_FF=y
989CONFIG_USB_HIDDEV=y
990# CONFIG_USB_AIPTEK is not set
991# CONFIG_USB_WACOM is not set
992# CONFIG_USB_ACECAD is not set
993# CONFIG_USB_KBTAB is not set
994# CONFIG_USB_POWERMATE is not set
995# CONFIG_USB_MTOUCH is not set
996# CONFIG_USB_ITMTOUCH is not set
997# CONFIG_USB_EGALAX is not set
998# CONFIG_USB_YEALINK is not set
999# CONFIG_USB_XPAD is not set
1000# CONFIG_USB_ATI_REMOTE is not set
1001# CONFIG_USB_KEYSPAN_REMOTE is not set
1002# CONFIG_USB_APPLETOUCH is not set
1003
1004#
1005# USB Imaging devices
1006#
1007# CONFIG_USB_MDC800 is not set
1008# CONFIG_USB_MICROTEK is not set
1009
1010#
1011# USB Multimedia devices
1012#
1013# CONFIG_USB_DABUSB is not set
1014
1015#
1016# Video4Linux support is needed for USB Multimedia device support
1017#
1018
1019#
1020# USB Network Adapters
1021#
1022CONFIG_USB_CATC=m
1023CONFIG_USB_KAWETH=m
1024CONFIG_USB_PEGASUS=m
1025CONFIG_USB_RTL8150=m
1026CONFIG_USB_USBNET=m
1027# CONFIG_USB_NET_AX8817X is not set
1028CONFIG_USB_NET_CDCETHER=m
1029# CONFIG_USB_NET_GL620A is not set
1030# CONFIG_USB_NET_NET1080 is not set
1031# CONFIG_USB_NET_PLUSB is not set
1032# CONFIG_USB_NET_RNDIS_HOST is not set
1033# CONFIG_USB_NET_CDC_SUBSET is not set
1034# CONFIG_USB_NET_ZAURUS is not set
1035CONFIG_USB_MON=y
1036
1037#
1038# USB port drivers
1039#
1040
1041#
1042# USB Serial Converter support
1043#
1044CONFIG_USB_SERIAL=m
1045CONFIG_USB_SERIAL_GENERIC=y
1046# CONFIG_USB_SERIAL_AIRPRIME is not set
1047CONFIG_USB_SERIAL_BELKIN=m
1048CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
1049# CONFIG_USB_SERIAL_CP2101 is not set
1050CONFIG_USB_SERIAL_CYPRESS_M8=m
1051CONFIG_USB_SERIAL_EMPEG=m
1052CONFIG_USB_SERIAL_FTDI_SIO=m
1053CONFIG_USB_SERIAL_VISOR=m
1054CONFIG_USB_SERIAL_IPAQ=m
1055CONFIG_USB_SERIAL_IR=m
1056CONFIG_USB_SERIAL_EDGEPORT=m
1057CONFIG_USB_SERIAL_EDGEPORT_TI=m
1058CONFIG_USB_SERIAL_GARMIN=m
1059CONFIG_USB_SERIAL_IPW=m
1060CONFIG_USB_SERIAL_KEYSPAN_PDA=m
1061CONFIG_USB_SERIAL_KEYSPAN=m
1062CONFIG_USB_SERIAL_KEYSPAN_MPR=y
1063CONFIG_USB_SERIAL_KEYSPAN_USA28=y
1064CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
1065CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
1066CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
1067CONFIG_USB_SERIAL_KEYSPAN_USA19=y
1068CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
1069CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
1070CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
1071CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
1072CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
1073CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
1074CONFIG_USB_SERIAL_KLSI=m
1075CONFIG_USB_SERIAL_KOBIL_SCT=m
1076CONFIG_USB_SERIAL_MCT_U232=m
1077CONFIG_USB_SERIAL_PL2303=m
1078# CONFIG_USB_SERIAL_HP4X is not set
1079CONFIG_USB_SERIAL_SAFE=m
1080CONFIG_USB_SERIAL_SAFE_PADDED=y
1081CONFIG_USB_SERIAL_TI=m
1082CONFIG_USB_SERIAL_CYBERJACK=m
1083CONFIG_USB_SERIAL_XIRCOM=m
1084CONFIG_USB_SERIAL_OMNINET=m
1085CONFIG_USB_EZUSB=y
1086
1087#
1088# USB Miscellaneous drivers
1089#
1090# CONFIG_USB_EMI62 is not set
1091# CONFIG_USB_EMI26 is not set
1092# CONFIG_USB_AUERSWALD is not set
1093# CONFIG_USB_RIO500 is not set
1094# CONFIG_USB_LEGOTOWER is not set
1095# CONFIG_USB_LCD is not set
1096# CONFIG_USB_LED is not set
1097# CONFIG_USB_CYTHERM is not set
1098# CONFIG_USB_PHIDGETKIT is not set
1099# CONFIG_USB_PHIDGETSERVO is not set
1100# CONFIG_USB_IDMOUSE is not set
1101# CONFIG_USB_SISUSBVGA is not set
1102# CONFIG_USB_LD is not set
1103# CONFIG_USB_TEST is not set
1104
1105#
1106# USB DSL modem support
1107#
1108
1109#
1110# USB Gadget Support
1111#
1112# CONFIG_USB_GADGET is not set
1113
1114#
1115# MMC/SD Card support
1116#
1117# CONFIG_MMC is not set
1118
1119#
1120# InfiniBand support
1121#
1122# CONFIG_INFINIBAND is not set
1123
1124#
1125# SN Devices
1126#
1127
1128#
1129# File systems
1130#
1131CONFIG_EXT2_FS=y
1132CONFIG_EXT2_FS_XATTR=y
1133CONFIG_EXT2_FS_POSIX_ACL=y
1134CONFIG_EXT2_FS_SECURITY=y
1135CONFIG_EXT2_FS_XIP=y
1136CONFIG_FS_XIP=y
1137CONFIG_EXT3_FS=y
1138CONFIG_EXT3_FS_XATTR=y
1139CONFIG_EXT3_FS_POSIX_ACL=y
1140CONFIG_EXT3_FS_SECURITY=y
1141CONFIG_JBD=y
1142# CONFIG_JBD_DEBUG is not set
1143CONFIG_FS_MBCACHE=y
1144CONFIG_REISERFS_FS=y
1145# CONFIG_REISERFS_CHECK is not set
1146# CONFIG_REISERFS_PROC_INFO is not set
1147CONFIG_REISERFS_FS_XATTR=y
1148CONFIG_REISERFS_FS_POSIX_ACL=y
1149CONFIG_REISERFS_FS_SECURITY=y
1150# CONFIG_JFS_FS is not set
1151CONFIG_FS_POSIX_ACL=y
1152CONFIG_XFS_FS=m
1153CONFIG_XFS_EXPORT=y
1154# CONFIG_XFS_QUOTA is not set
1155CONFIG_XFS_SECURITY=y
1156CONFIG_XFS_POSIX_ACL=y
1157# CONFIG_XFS_RT is not set
1158# CONFIG_MINIX_FS is not set
1159# CONFIG_ROMFS_FS is not set
1160CONFIG_INOTIFY=y
1161# CONFIG_QUOTA is not set
1162CONFIG_DNOTIFY=y
1163CONFIG_AUTOFS_FS=m
1164# CONFIG_AUTOFS4_FS is not set
1165# CONFIG_FUSE_FS is not set
1166
1167#
1168# CD-ROM/DVD Filesystems
1169#
1170CONFIG_ISO9660_FS=y
1171CONFIG_JOLIET=y
1172CONFIG_ZISOFS=y
1173CONFIG_ZISOFS_FS=y
1174CONFIG_UDF_FS=m
1175CONFIG_UDF_NLS=y
1176
1177#
1178# DOS/FAT/NT Filesystems
1179#
1180CONFIG_FAT_FS=y
1181CONFIG_MSDOS_FS=y
1182CONFIG_VFAT_FS=y
1183CONFIG_FAT_DEFAULT_CODEPAGE=437
1184CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1185# CONFIG_NTFS_FS is not set
1186
1187#
1188# Pseudo filesystems
1189#
1190CONFIG_PROC_FS=y
1191CONFIG_PROC_KCORE=y
1192CONFIG_SYSFS=y
1193CONFIG_TMPFS=y
1194CONFIG_HUGETLBFS=y
1195CONFIG_HUGETLB_PAGE=y
1196CONFIG_RAMFS=y
1197# CONFIG_RELAYFS_FS is not set
1198
1199#
1200# Miscellaneous filesystems
1201#
1202# CONFIG_ADFS_FS is not set
1203# CONFIG_AFFS_FS is not set
1204CONFIG_HFS_FS=m
1205CONFIG_HFSPLUS_FS=m
1206# CONFIG_BEFS_FS is not set
1207# CONFIG_BFS_FS is not set
1208# CONFIG_EFS_FS is not set
1209CONFIG_CRAMFS=y
1210# CONFIG_VXFS_FS is not set
1211# CONFIG_HPFS_FS is not set
1212# CONFIG_QNX4FS_FS is not set
1213# CONFIG_SYSV_FS is not set
1214# CONFIG_UFS_FS is not set
1215
1216#
1217# Network File Systems
1218#
1219CONFIG_NFS_FS=y
1220CONFIG_NFS_V3=y
1221CONFIG_NFS_V3_ACL=y
1222CONFIG_NFS_V4=y
1223# CONFIG_NFS_DIRECTIO is not set
1224CONFIG_NFSD=y
1225CONFIG_NFSD_V2_ACL=y
1226CONFIG_NFSD_V3=y
1227CONFIG_NFSD_V3_ACL=y
1228CONFIG_NFSD_V4=y
1229CONFIG_NFSD_TCP=y
1230CONFIG_LOCKD=y
1231CONFIG_LOCKD_V4=y
1232CONFIG_EXPORTFS=y
1233CONFIG_NFS_ACL_SUPPORT=y
1234CONFIG_NFS_COMMON=y
1235CONFIG_SUNRPC=y
1236CONFIG_SUNRPC_GSS=y
1237CONFIG_RPCSEC_GSS_KRB5=y
1238# CONFIG_RPCSEC_GSS_SPKM3 is not set
1239# CONFIG_SMB_FS is not set
1240CONFIG_CIFS=m
1241# CONFIG_CIFS_STATS is not set
1242# CONFIG_CIFS_XATTR is not set
1243# CONFIG_CIFS_EXPERIMENTAL is not set
1244# CONFIG_NCP_FS is not set
1245# CONFIG_CODA_FS is not set
1246# CONFIG_AFS_FS is not set
1247# CONFIG_9P_FS is not set
1248
1249#
1250# Partition Types
1251#
1252CONFIG_PARTITION_ADVANCED=y
1253# CONFIG_ACORN_PARTITION is not set
1254# CONFIG_OSF_PARTITION is not set
1255# CONFIG_AMIGA_PARTITION is not set
1256# CONFIG_ATARI_PARTITION is not set
1257CONFIG_MAC_PARTITION=y
1258CONFIG_MSDOS_PARTITION=y
1259# CONFIG_BSD_DISKLABEL is not set
1260# CONFIG_MINIX_SUBPARTITION is not set
1261# CONFIG_SOLARIS_X86_PARTITION is not set
1262# CONFIG_UNIXWARE_DISKLABEL is not set
1263# CONFIG_LDM_PARTITION is not set
1264# CONFIG_SGI_PARTITION is not set
1265# CONFIG_ULTRIX_PARTITION is not set
1266# CONFIG_SUN_PARTITION is not set
1267# CONFIG_EFI_PARTITION is not set
1268
1269#
1270# Native Language Support
1271#
1272CONFIG_NLS=y
1273CONFIG_NLS_DEFAULT="iso8859-1"
1274CONFIG_NLS_CODEPAGE_437=y
1275# CONFIG_NLS_CODEPAGE_737 is not set
1276# CONFIG_NLS_CODEPAGE_775 is not set
1277# CONFIG_NLS_CODEPAGE_850 is not set
1278# CONFIG_NLS_CODEPAGE_852 is not set
1279# CONFIG_NLS_CODEPAGE_855 is not set
1280# CONFIG_NLS_CODEPAGE_857 is not set
1281# CONFIG_NLS_CODEPAGE_860 is not set
1282# CONFIG_NLS_CODEPAGE_861 is not set
1283# CONFIG_NLS_CODEPAGE_862 is not set
1284# CONFIG_NLS_CODEPAGE_863 is not set
1285# CONFIG_NLS_CODEPAGE_864 is not set
1286# CONFIG_NLS_CODEPAGE_865 is not set
1287# CONFIG_NLS_CODEPAGE_866 is not set
1288# CONFIG_NLS_CODEPAGE_869 is not set
1289# CONFIG_NLS_CODEPAGE_936 is not set
1290# CONFIG_NLS_CODEPAGE_950 is not set
1291# CONFIG_NLS_CODEPAGE_932 is not set
1292# CONFIG_NLS_CODEPAGE_949 is not set
1293# CONFIG_NLS_CODEPAGE_874 is not set
1294# CONFIG_NLS_ISO8859_8 is not set
1295CONFIG_NLS_CODEPAGE_1250=y
1296CONFIG_NLS_CODEPAGE_1251=y
1297CONFIG_NLS_ASCII=y
1298CONFIG_NLS_ISO8859_1=y
1299# CONFIG_NLS_ISO8859_2 is not set
1300# CONFIG_NLS_ISO8859_3 is not set
1301# CONFIG_NLS_ISO8859_4 is not set
1302# CONFIG_NLS_ISO8859_5 is not set
1303# CONFIG_NLS_ISO8859_6 is not set
1304# CONFIG_NLS_ISO8859_7 is not set
1305# CONFIG_NLS_ISO8859_9 is not set
1306# CONFIG_NLS_ISO8859_13 is not set
1307# CONFIG_NLS_ISO8859_14 is not set
1308CONFIG_NLS_ISO8859_15=y
1309# CONFIG_NLS_KOI8_R is not set
1310# CONFIG_NLS_KOI8_U is not set
1311CONFIG_NLS_UTF8=y
1312
1313#
1314# Profiling support
1315#
1316CONFIG_PROFILING=y
1317CONFIG_OPROFILE=y
1318
1319#
1320# Kernel hacking
1321#
1322# CONFIG_PRINTK_TIME is not set
1323CONFIG_DEBUG_KERNEL=y
1324CONFIG_MAGIC_SYSRQ=y
1325CONFIG_LOG_BUF_SHIFT=17
1326CONFIG_DETECT_SOFTLOCKUP=y
1327# CONFIG_SCHEDSTATS is not set
1328# CONFIG_DEBUG_SLAB is not set
1329# CONFIG_DEBUG_SPINLOCK is not set
1330# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1331# CONFIG_DEBUG_KOBJECT is not set
1332# CONFIG_DEBUG_INFO is not set
1333CONFIG_DEBUG_FS=y
1334# CONFIG_DEBUG_STACKOVERFLOW is not set
1335# CONFIG_KPROBES is not set
1336# CONFIG_DEBUG_STACK_USAGE is not set
1337# CONFIG_DEBUGGER is not set
1338# CONFIG_PPCDBG is not set
1339CONFIG_IRQSTACKS=y
1340
1341#
1342# Security options
1343#
1344# CONFIG_KEYS is not set
1345# CONFIG_SECURITY is not set
1346
1347#
1348# Cryptographic options
1349#
1350CONFIG_CRYPTO=y
1351CONFIG_CRYPTO_HMAC=y
1352CONFIG_CRYPTO_NULL=m
1353CONFIG_CRYPTO_MD4=m
1354CONFIG_CRYPTO_MD5=y
1355CONFIG_CRYPTO_SHA1=m
1356CONFIG_CRYPTO_SHA256=m
1357CONFIG_CRYPTO_SHA512=m
1358CONFIG_CRYPTO_WP512=m
1359# CONFIG_CRYPTO_TGR192 is not set
1360CONFIG_CRYPTO_DES=y
1361CONFIG_CRYPTO_BLOWFISH=m
1362CONFIG_CRYPTO_TWOFISH=m
1363CONFIG_CRYPTO_SERPENT=m
1364CONFIG_CRYPTO_AES=m
1365CONFIG_CRYPTO_CAST5=m
1366CONFIG_CRYPTO_CAST6=m
1367CONFIG_CRYPTO_TEA=m
1368CONFIG_CRYPTO_ARC4=m
1369CONFIG_CRYPTO_KHAZAD=m
1370CONFIG_CRYPTO_ANUBIS=m
1371CONFIG_CRYPTO_DEFLATE=m
1372CONFIG_CRYPTO_MICHAEL_MIC=m
1373CONFIG_CRYPTO_CRC32C=m
1374CONFIG_CRYPTO_TEST=m
1375
1376#
1377# Hardware crypto devices
1378#
1379
1380#
1381# Library routines
1382#
1383CONFIG_CRC_CCITT=m
1384# CONFIG_CRC16 is not set
1385CONFIG_CRC32=y
1386CONFIG_LIBCRC32C=m
1387CONFIG_ZLIB_INFLATE=y
1388CONFIG_ZLIB_DEFLATE=m
1389CONFIG_TEXTSEARCH=y
1390CONFIG_TEXTSEARCH_KMP=m
1391CONFIG_TEXTSEARCH_BM=m
1392CONFIG_TEXTSEARCH_FSM=m
diff --git a/arch/ppc64/configs/iSeries_defconfig b/arch/ppc64/configs/iSeries_defconfig
deleted file mode 100644
index 62e92c7e9e27..000000000000
--- a/arch/ppc64/configs/iSeries_defconfig
+++ /dev/null
@@ -1,998 +0,0 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.14-rc4
4# Thu Oct 20 08:30:56 2005
5#
6CONFIG_64BIT=y
7CONFIG_MMU=y
8CONFIG_RWSEM_XCHGADD_ALGORITHM=y
9CONFIG_GENERIC_CALIBRATE_DELAY=y
10CONFIG_GENERIC_ISA_DMA=y
11CONFIG_EARLY_PRINTK=y
12CONFIG_COMPAT=y
13CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
14CONFIG_ARCH_MAY_HAVE_PC_FDC=y
15CONFIG_FORCE_MAX_ZONEORDER=13
16
17#
18# Code maturity level options
19#
20CONFIG_EXPERIMENTAL=y
21CONFIG_CLEAN_COMPILE=y
22CONFIG_LOCK_KERNEL=y
23CONFIG_INIT_ENV_ARG_LIMIT=32
24
25#
26# General setup
27#
28CONFIG_LOCALVERSION=""
29CONFIG_LOCALVERSION_AUTO=y
30CONFIG_SWAP=y
31CONFIG_SYSVIPC=y
32CONFIG_POSIX_MQUEUE=y
33# CONFIG_BSD_PROCESS_ACCT is not set
34CONFIG_SYSCTL=y
35CONFIG_AUDIT=y
36CONFIG_AUDITSYSCALL=y
37CONFIG_HOTPLUG=y
38CONFIG_KOBJECT_UEVENT=y
39CONFIG_IKCONFIG=y
40CONFIG_IKCONFIG_PROC=y
41# CONFIG_CPUSETS is not set
42CONFIG_INITRAMFS_SOURCE=""
43# CONFIG_EMBEDDED is not set
44CONFIG_KALLSYMS=y
45# CONFIG_KALLSYMS_ALL is not set
46# CONFIG_KALLSYMS_EXTRA_PASS is not set
47CONFIG_PRINTK=y
48CONFIG_BUG=y
49CONFIG_BASE_FULL=y
50CONFIG_FUTEX=y
51CONFIG_EPOLL=y
52CONFIG_SHMEM=y
53CONFIG_CC_ALIGN_FUNCTIONS=0
54CONFIG_CC_ALIGN_LABELS=0
55CONFIG_CC_ALIGN_LOOPS=0
56CONFIG_CC_ALIGN_JUMPS=0
57# CONFIG_TINY_SHMEM is not set
58CONFIG_BASE_SMALL=0
59
60#
61# Loadable module support
62#
63CONFIG_MODULES=y
64CONFIG_MODULE_UNLOAD=y
65# CONFIG_MODULE_FORCE_UNLOAD is not set
66CONFIG_OBSOLETE_MODPARM=y
67CONFIG_MODVERSIONS=y
68CONFIG_MODULE_SRCVERSION_ALL=y
69CONFIG_KMOD=y
70CONFIG_STOP_MACHINE=y
71CONFIG_SYSVIPC_COMPAT=y
72
73#
74# Platform support
75#
76CONFIG_PPC_ISERIES=y
77# CONFIG_PPC_MULTIPLATFORM is not set
78CONFIG_PPC=y
79CONFIG_PPC64=y
80CONFIG_IBMVIO=y
81# CONFIG_POWER4_ONLY is not set
82CONFIG_IOMMU_VMERGE=y
83CONFIG_SMP=y
84CONFIG_NR_CPUS=32
85CONFIG_ARCH_SELECT_MEMORY_MODEL=y
86CONFIG_ARCH_FLATMEM_ENABLE=y
87CONFIG_SELECT_MEMORY_MODEL=y
88CONFIG_FLATMEM_MANUAL=y
89# CONFIG_DISCONTIGMEM_MANUAL is not set
90# CONFIG_SPARSEMEM_MANUAL is not set
91CONFIG_FLATMEM=y
92CONFIG_FLAT_NODE_MEM_MAP=y
93# CONFIG_SPARSEMEM_STATIC is not set
94# CONFIG_NUMA is not set
95# CONFIG_SCHED_SMT is not set
96CONFIG_PREEMPT_NONE=y
97# CONFIG_PREEMPT_VOLUNTARY is not set
98# CONFIG_PREEMPT is not set
99# CONFIG_PREEMPT_BKL is not set
100# CONFIG_HZ_100 is not set
101CONFIG_HZ_250=y
102# CONFIG_HZ_1000 is not set
103CONFIG_HZ=250
104CONFIG_GENERIC_HARDIRQS=y
105CONFIG_LPARCFG=y
106CONFIG_SECCOMP=y
107CONFIG_BINFMT_ELF=y
108# CONFIG_BINFMT_MISC is not set
109CONFIG_ISA_DMA_API=y
110
111#
112# Bus Options
113#
114CONFIG_PCI=y
115CONFIG_PCI_DOMAINS=y
116CONFIG_PCI_LEGACY_PROC=y
117# CONFIG_PCI_DEBUG is not set
118
119#
120# PCCARD (PCMCIA/CardBus) support
121#
122# CONFIG_PCCARD is not set
123
124#
125# PCI Hotplug Support
126#
127# CONFIG_HOTPLUG_PCI is not set
128
129#
130# Networking
131#
132CONFIG_NET=y
133
134#
135# Networking options
136#
137CONFIG_PACKET=y
138# CONFIG_PACKET_MMAP is not set
139CONFIG_UNIX=y
140CONFIG_XFRM=y
141CONFIG_XFRM_USER=m
142CONFIG_NET_KEY=m
143CONFIG_INET=y
144CONFIG_IP_MULTICAST=y
145# CONFIG_IP_ADVANCED_ROUTER is not set
146CONFIG_IP_FIB_HASH=y
147# CONFIG_IP_PNP is not set
148CONFIG_NET_IPIP=y
149# CONFIG_NET_IPGRE is not set
150# CONFIG_IP_MROUTE is not set
151# CONFIG_ARPD is not set
152CONFIG_SYN_COOKIES=y
153CONFIG_INET_AH=m
154CONFIG_INET_ESP=m
155CONFIG_INET_IPCOMP=m
156CONFIG_INET_TUNNEL=y
157CONFIG_INET_DIAG=y
158CONFIG_INET_TCP_DIAG=y
159# CONFIG_TCP_CONG_ADVANCED is not set
160CONFIG_TCP_CONG_BIC=y
161
162#
163# IP: Virtual Server Configuration
164#
165# CONFIG_IP_VS is not set
166# CONFIG_IPV6 is not set
167CONFIG_NETFILTER=y
168# CONFIG_NETFILTER_DEBUG is not set
169# CONFIG_NETFILTER_NETLINK is not set
170
171#
172# IP: Netfilter Configuration
173#
174CONFIG_IP_NF_CONNTRACK=m
175CONFIG_IP_NF_CT_ACCT=y
176CONFIG_IP_NF_CONNTRACK_MARK=y
177CONFIG_IP_NF_CONNTRACK_EVENTS=y
178CONFIG_IP_NF_CT_PROTO_SCTP=m
179CONFIG_IP_NF_FTP=m
180CONFIG_IP_NF_IRC=m
181# CONFIG_IP_NF_NETBIOS_NS is not set
182CONFIG_IP_NF_TFTP=m
183CONFIG_IP_NF_AMANDA=m
184# CONFIG_IP_NF_PPTP is not set
185CONFIG_IP_NF_QUEUE=m
186CONFIG_IP_NF_IPTABLES=m
187CONFIG_IP_NF_MATCH_LIMIT=m
188CONFIG_IP_NF_MATCH_IPRANGE=m
189CONFIG_IP_NF_MATCH_MAC=m
190CONFIG_IP_NF_MATCH_PKTTYPE=m
191CONFIG_IP_NF_MATCH_MARK=m
192CONFIG_IP_NF_MATCH_MULTIPORT=m
193CONFIG_IP_NF_MATCH_TOS=m
194CONFIG_IP_NF_MATCH_RECENT=m
195CONFIG_IP_NF_MATCH_ECN=m
196CONFIG_IP_NF_MATCH_DSCP=m
197CONFIG_IP_NF_MATCH_AH_ESP=m
198CONFIG_IP_NF_MATCH_LENGTH=m
199CONFIG_IP_NF_MATCH_TTL=m
200CONFIG_IP_NF_MATCH_TCPMSS=m
201CONFIG_IP_NF_MATCH_HELPER=m
202CONFIG_IP_NF_MATCH_STATE=m
203CONFIG_IP_NF_MATCH_CONNTRACK=m
204CONFIG_IP_NF_MATCH_OWNER=m
205CONFIG_IP_NF_MATCH_ADDRTYPE=m
206CONFIG_IP_NF_MATCH_REALM=m
207CONFIG_IP_NF_MATCH_SCTP=m
208# CONFIG_IP_NF_MATCH_DCCP is not set
209CONFIG_IP_NF_MATCH_COMMENT=m
210CONFIG_IP_NF_MATCH_CONNMARK=m
211CONFIG_IP_NF_MATCH_CONNBYTES=m
212CONFIG_IP_NF_MATCH_HASHLIMIT=m
213CONFIG_IP_NF_MATCH_STRING=m
214CONFIG_IP_NF_FILTER=m
215CONFIG_IP_NF_TARGET_REJECT=m
216CONFIG_IP_NF_TARGET_LOG=m
217CONFIG_IP_NF_TARGET_ULOG=m
218CONFIG_IP_NF_TARGET_TCPMSS=m
219CONFIG_IP_NF_TARGET_NFQUEUE=m
220CONFIG_IP_NF_NAT=m
221CONFIG_IP_NF_NAT_NEEDED=y
222CONFIG_IP_NF_TARGET_MASQUERADE=m
223CONFIG_IP_NF_TARGET_REDIRECT=m
224CONFIG_IP_NF_TARGET_NETMAP=m
225CONFIG_IP_NF_TARGET_SAME=m
226CONFIG_IP_NF_NAT_SNMP_BASIC=m
227CONFIG_IP_NF_NAT_IRC=m
228CONFIG_IP_NF_NAT_FTP=m
229CONFIG_IP_NF_NAT_TFTP=m
230CONFIG_IP_NF_NAT_AMANDA=m
231CONFIG_IP_NF_MANGLE=m
232CONFIG_IP_NF_TARGET_TOS=m
233CONFIG_IP_NF_TARGET_ECN=m
234CONFIG_IP_NF_TARGET_DSCP=m
235CONFIG_IP_NF_TARGET_MARK=m
236CONFIG_IP_NF_TARGET_CLASSIFY=m
237CONFIG_IP_NF_TARGET_TTL=m
238CONFIG_IP_NF_TARGET_CONNMARK=m
239CONFIG_IP_NF_TARGET_CLUSTERIP=m
240CONFIG_IP_NF_RAW=m
241CONFIG_IP_NF_TARGET_NOTRACK=m
242CONFIG_IP_NF_ARPTABLES=m
243CONFIG_IP_NF_ARPFILTER=m
244CONFIG_IP_NF_ARP_MANGLE=m
245
246#
247# DCCP Configuration (EXPERIMENTAL)
248#
249# CONFIG_IP_DCCP is not set
250
251#
252# SCTP Configuration (EXPERIMENTAL)
253#
254# CONFIG_IP_SCTP is not set
255# CONFIG_ATM is not set
256# CONFIG_BRIDGE is not set
257# CONFIG_VLAN_8021Q is not set
258# CONFIG_DECNET is not set
259CONFIG_LLC=y
260# CONFIG_LLC2 is not set
261# CONFIG_IPX is not set
262# CONFIG_ATALK is not set
263# CONFIG_X25 is not set
264# CONFIG_LAPB is not set
265# CONFIG_NET_DIVERT is not set
266# CONFIG_ECONET is not set
267# CONFIG_WAN_ROUTER is not set
268# CONFIG_NET_SCHED is not set
269CONFIG_NET_CLS_ROUTE=y
270
271#
272# Network testing
273#
274# CONFIG_NET_PKTGEN is not set
275# CONFIG_HAMRADIO is not set
276# CONFIG_IRDA is not set
277# CONFIG_BT is not set
278# CONFIG_IEEE80211 is not set
279
280#
281# Device Drivers
282#
283
284#
285# Generic Driver Options
286#
287CONFIG_STANDALONE=y
288CONFIG_PREVENT_FIRMWARE_BUILD=y
289CONFIG_FW_LOADER=m
290# CONFIG_DEBUG_DRIVER is not set
291
292#
293# Connector - unified userspace <-> kernelspace linker
294#
295# CONFIG_CONNECTOR is not set
296
297#
298# Memory Technology Devices (MTD)
299#
300# CONFIG_MTD is not set
301
302#
303# Parallel port support
304#
305# CONFIG_PARPORT is not set
306
307#
308# Plug and Play support
309#
310
311#
312# Block devices
313#
314# CONFIG_BLK_DEV_FD is not set
315# CONFIG_BLK_CPQ_DA is not set
316# CONFIG_BLK_CPQ_CISS_DA is not set
317# CONFIG_BLK_DEV_DAC960 is not set
318# CONFIG_BLK_DEV_UMEM is not set
319# CONFIG_BLK_DEV_COW_COMMON is not set
320CONFIG_BLK_DEV_LOOP=y
321# CONFIG_BLK_DEV_CRYPTOLOOP is not set
322CONFIG_BLK_DEV_NBD=m
323# CONFIG_BLK_DEV_SX8 is not set
324CONFIG_BLK_DEV_RAM=y
325CONFIG_BLK_DEV_RAM_COUNT=16
326CONFIG_BLK_DEV_RAM_SIZE=65536
327CONFIG_BLK_DEV_INITRD=y
328# CONFIG_CDROM_PKTCDVD is not set
329
330#
331# IO Schedulers
332#
333CONFIG_IOSCHED_NOOP=y
334CONFIG_IOSCHED_AS=y
335CONFIG_IOSCHED_DEADLINE=y
336CONFIG_IOSCHED_CFQ=y
337# CONFIG_ATA_OVER_ETH is not set
338
339#
340# ATA/ATAPI/MFM/RLL support
341#
342# CONFIG_IDE is not set
343
344#
345# SCSI device support
346#
347# CONFIG_RAID_ATTRS is not set
348CONFIG_SCSI=y
349CONFIG_SCSI_PROC_FS=y
350
351#
352# SCSI support type (disk, tape, CD-ROM)
353#
354CONFIG_BLK_DEV_SD=y
355CONFIG_CHR_DEV_ST=y
356# CONFIG_CHR_DEV_OSST is not set
357CONFIG_BLK_DEV_SR=y
358CONFIG_BLK_DEV_SR_VENDOR=y
359CONFIG_CHR_DEV_SG=y
360# CONFIG_CHR_DEV_SCH is not set
361
362#
363# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
364#
365CONFIG_SCSI_MULTI_LUN=y
366CONFIG_SCSI_CONSTANTS=y
367# CONFIG_SCSI_LOGGING is not set
368
369#
370# SCSI Transport Attributes
371#
372CONFIG_SCSI_SPI_ATTRS=y
373CONFIG_SCSI_FC_ATTRS=y
374# CONFIG_SCSI_ISCSI_ATTRS is not set
375# CONFIG_SCSI_SAS_ATTRS is not set
376
377#
378# SCSI low-level drivers
379#
380# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
381# CONFIG_SCSI_3W_9XXX is not set
382# CONFIG_SCSI_ACARD is not set
383# CONFIG_SCSI_AACRAID is not set
384# CONFIG_SCSI_AIC7XXX is not set
385# CONFIG_SCSI_AIC7XXX_OLD is not set
386# CONFIG_SCSI_AIC79XX is not set
387# CONFIG_MEGARAID_NEWGEN is not set
388# CONFIG_MEGARAID_LEGACY is not set
389# CONFIG_MEGARAID_SAS is not set
390# CONFIG_SCSI_SATA is not set
391# CONFIG_SCSI_BUSLOGIC is not set
392# CONFIG_SCSI_DMX3191D is not set
393# CONFIG_SCSI_EATA is not set
394# CONFIG_SCSI_FUTURE_DOMAIN is not set
395# CONFIG_SCSI_GDTH is not set
396# CONFIG_SCSI_IPS is not set
397CONFIG_SCSI_IBMVSCSI=m
398# CONFIG_SCSI_INITIO is not set
399# CONFIG_SCSI_INIA100 is not set
400# CONFIG_SCSI_SYM53C8XX_2 is not set
401# CONFIG_SCSI_IPR is not set
402# CONFIG_SCSI_QLOGIC_FC is not set
403# CONFIG_SCSI_QLOGIC_1280 is not set
404CONFIG_SCSI_QLA2XXX=y
405# CONFIG_SCSI_QLA21XX is not set
406# CONFIG_SCSI_QLA22XX is not set
407# CONFIG_SCSI_QLA2300 is not set
408# CONFIG_SCSI_QLA2322 is not set
409# CONFIG_SCSI_QLA6312 is not set
410# CONFIG_SCSI_QLA24XX is not set
411# CONFIG_SCSI_LPFC is not set
412# CONFIG_SCSI_DC395x is not set
413# CONFIG_SCSI_DC390T is not set
414# CONFIG_SCSI_DEBUG is not set
415
416#
417# Multi-device support (RAID and LVM)
418#
419CONFIG_MD=y
420CONFIG_BLK_DEV_MD=y
421CONFIG_MD_LINEAR=y
422CONFIG_MD_RAID0=y
423CONFIG_MD_RAID1=y
424CONFIG_MD_RAID10=m
425CONFIG_MD_RAID5=y
426CONFIG_MD_RAID6=m
427CONFIG_MD_MULTIPATH=m
428CONFIG_MD_FAULTY=m
429CONFIG_BLK_DEV_DM=y
430CONFIG_DM_CRYPT=m
431CONFIG_DM_SNAPSHOT=m
432CONFIG_DM_MIRROR=m
433CONFIG_DM_ZERO=m
434# CONFIG_DM_MULTIPATH is not set
435
436#
437# Fusion MPT device support
438#
439# CONFIG_FUSION is not set
440# CONFIG_FUSION_SPI is not set
441# CONFIG_FUSION_FC is not set
442# CONFIG_FUSION_SAS is not set
443
444#
445# IEEE 1394 (FireWire) support
446#
447# CONFIG_IEEE1394 is not set
448
449#
450# I2O device support
451#
452# CONFIG_I2O is not set
453
454#
455# Macintosh device drivers
456#
457
458#
459# Network device support
460#
461CONFIG_NETDEVICES=y
462CONFIG_DUMMY=m
463CONFIG_BONDING=m
464# CONFIG_EQUALIZER is not set
465CONFIG_TUN=m
466
467#
468# ARCnet devices
469#
470# CONFIG_ARCNET is not set
471
472#
473# PHY device support
474#
475# CONFIG_PHYLIB is not set
476
477#
478# Ethernet (10 or 100Mbit)
479#
480CONFIG_NET_ETHERNET=y
481CONFIG_MII=y
482# CONFIG_HAPPYMEAL is not set
483# CONFIG_SUNGEM is not set
484# CONFIG_CASSINI is not set
485# CONFIG_NET_VENDOR_3COM is not set
486
487#
488# Tulip family network device support
489#
490# CONFIG_NET_TULIP is not set
491# CONFIG_HP100 is not set
492CONFIG_NET_PCI=y
493CONFIG_PCNET32=y
494# CONFIG_AMD8111_ETH is not set
495# CONFIG_ADAPTEC_STARFIRE is not set
496# CONFIG_B44 is not set
497# CONFIG_FORCEDETH is not set
498# CONFIG_DGRS is not set
499# CONFIG_EEPRO100 is not set
500CONFIG_E100=y
501# CONFIG_FEALNX is not set
502# CONFIG_NATSEMI is not set
503# CONFIG_NE2K_PCI is not set
504# CONFIG_8139CP is not set
505# CONFIG_8139TOO is not set
506# CONFIG_SIS900 is not set
507# CONFIG_EPIC100 is not set
508# CONFIG_SUNDANCE is not set
509# CONFIG_VIA_RHINE is not set
510
511#
512# Ethernet (1000 Mbit)
513#
514CONFIG_ACENIC=m
515# CONFIG_ACENIC_OMIT_TIGON_I is not set
516# CONFIG_DL2K is not set
517CONFIG_E1000=m
518# CONFIG_E1000_NAPI is not set
519# CONFIG_NS83820 is not set
520# CONFIG_HAMACHI is not set
521# CONFIG_YELLOWFIN is not set
522# CONFIG_R8169 is not set
523# CONFIG_SIS190 is not set
524# CONFIG_SKGE is not set
525# CONFIG_SK98LIN is not set
526# CONFIG_VIA_VELOCITY is not set
527# CONFIG_TIGON3 is not set
528# CONFIG_BNX2 is not set
529
530#
531# Ethernet (10000 Mbit)
532#
533# CONFIG_CHELSIO_T1 is not set
534# CONFIG_IXGB is not set
535# CONFIG_S2IO is not set
536
537#
538# Token Ring devices
539#
540CONFIG_TR=y
541CONFIG_IBMOL=y
542# CONFIG_3C359 is not set
543# CONFIG_TMS380TR is not set
544
545#
546# Wireless LAN (non-hamradio)
547#
548# CONFIG_NET_RADIO is not set
549
550#
551# Wan interfaces
552#
553# CONFIG_WAN is not set
554CONFIG_ISERIES_VETH=y
555# CONFIG_FDDI is not set
556# CONFIG_HIPPI is not set
557CONFIG_PPP=m
558# CONFIG_PPP_MULTILINK is not set
559# CONFIG_PPP_FILTER is not set
560CONFIG_PPP_ASYNC=m
561CONFIG_PPP_SYNC_TTY=m
562CONFIG_PPP_DEFLATE=m
563CONFIG_PPP_BSDCOMP=m
564CONFIG_PPPOE=m
565# CONFIG_SLIP is not set
566# CONFIG_NET_FC is not set
567# CONFIG_SHAPER is not set
568CONFIG_NETCONSOLE=y
569CONFIG_NETPOLL=y
570CONFIG_NETPOLL_RX=y
571CONFIG_NETPOLL_TRAP=y
572CONFIG_NET_POLL_CONTROLLER=y
573
574#
575# ISDN subsystem
576#
577# CONFIG_ISDN is not set
578
579#
580# Telephony Support
581#
582# CONFIG_PHONE is not set
583
584#
585# Input device support
586#
587CONFIG_INPUT=y
588
589#
590# Userland interfaces
591#
592CONFIG_INPUT_MOUSEDEV=y
593# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
594CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
595CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
596# CONFIG_INPUT_JOYDEV is not set
597# CONFIG_INPUT_TSDEV is not set
598# CONFIG_INPUT_EVDEV is not set
599# CONFIG_INPUT_EVBUG is not set
600
601#
602# Input Device Drivers
603#
604# CONFIG_INPUT_KEYBOARD is not set
605# CONFIG_INPUT_MOUSE is not set
606# CONFIG_INPUT_JOYSTICK is not set
607# CONFIG_INPUT_TOUCHSCREEN is not set
608# CONFIG_INPUT_MISC is not set
609
610#
611# Hardware I/O ports
612#
613# CONFIG_SERIO is not set
614# CONFIG_GAMEPORT is not set
615
616#
617# Character devices
618#
619# CONFIG_SERIAL_NONSTANDARD is not set
620
621#
622# Serial drivers
623#
624# CONFIG_SERIAL_8250 is not set
625
626#
627# Non-8250 serial port support
628#
629CONFIG_SERIAL_CORE=m
630CONFIG_SERIAL_ICOM=m
631# CONFIG_SERIAL_JSM is not set
632CONFIG_UNIX98_PTYS=y
633CONFIG_LEGACY_PTYS=y
634CONFIG_LEGACY_PTY_COUNT=256
635
636#
637# IPMI
638#
639# CONFIG_IPMI_HANDLER is not set
640
641#
642# Watchdog Cards
643#
644# CONFIG_WATCHDOG is not set
645# CONFIG_RTC is not set
646# CONFIG_DTLK is not set
647# CONFIG_R3964 is not set
648# CONFIG_APPLICOM is not set
649
650#
651# Ftape, the floppy tape device driver
652#
653# CONFIG_AGP is not set
654# CONFIG_DRM is not set
655CONFIG_RAW_DRIVER=y
656CONFIG_MAX_RAW_DEVS=256
657# CONFIG_HANGCHECK_TIMER is not set
658
659#
660# TPM devices
661#
662# CONFIG_TCG_TPM is not set
663
664#
665# I2C support
666#
667# CONFIG_I2C is not set
668
669#
670# Dallas's 1-wire bus
671#
672# CONFIG_W1 is not set
673
674#
675# Hardware Monitoring support
676#
677# CONFIG_HWMON is not set
678# CONFIG_HWMON_VID is not set
679
680#
681# Misc devices
682#
683
684#
685# Multimedia Capabilities Port drivers
686#
687
688#
689# Multimedia devices
690#
691# CONFIG_VIDEO_DEV is not set
692
693#
694# Digital Video Broadcasting Devices
695#
696# CONFIG_DVB is not set
697
698#
699# Graphics support
700#
701# CONFIG_FB is not set
702
703#
704# Sound
705#
706# CONFIG_SOUND is not set
707
708#
709# USB support
710#
711CONFIG_USB_ARCH_HAS_HCD=y
712CONFIG_USB_ARCH_HAS_OHCI=y
713# CONFIG_USB is not set
714
715#
716# USB Gadget Support
717#
718# CONFIG_USB_GADGET is not set
719
720#
721# MMC/SD Card support
722#
723# CONFIG_MMC is not set
724
725#
726# InfiniBand support
727#
728# CONFIG_INFINIBAND is not set
729
730#
731# SN Devices
732#
733
734#
735# File systems
736#
737CONFIG_EXT2_FS=y
738CONFIG_EXT2_FS_XATTR=y
739CONFIG_EXT2_FS_POSIX_ACL=y
740CONFIG_EXT2_FS_SECURITY=y
741CONFIG_EXT2_FS_XIP=y
742CONFIG_FS_XIP=y
743CONFIG_EXT3_FS=y
744CONFIG_EXT3_FS_XATTR=y
745CONFIG_EXT3_FS_POSIX_ACL=y
746CONFIG_EXT3_FS_SECURITY=y
747CONFIG_JBD=y
748# CONFIG_JBD_DEBUG is not set
749CONFIG_FS_MBCACHE=y
750CONFIG_REISERFS_FS=y
751# CONFIG_REISERFS_CHECK is not set
752# CONFIG_REISERFS_PROC_INFO is not set
753CONFIG_REISERFS_FS_XATTR=y
754CONFIG_REISERFS_FS_POSIX_ACL=y
755CONFIG_REISERFS_FS_SECURITY=y
756CONFIG_JFS_FS=m
757CONFIG_JFS_POSIX_ACL=y
758CONFIG_JFS_SECURITY=y
759# CONFIG_JFS_DEBUG is not set
760# CONFIG_JFS_STATISTICS is not set
761CONFIG_FS_POSIX_ACL=y
762CONFIG_XFS_FS=m
763CONFIG_XFS_EXPORT=y
764# CONFIG_XFS_QUOTA is not set
765CONFIG_XFS_SECURITY=y
766CONFIG_XFS_POSIX_ACL=y
767# CONFIG_XFS_RT is not set
768# CONFIG_MINIX_FS is not set
769# CONFIG_ROMFS_FS is not set
770CONFIG_INOTIFY=y
771# CONFIG_QUOTA is not set
772CONFIG_DNOTIFY=y
773CONFIG_AUTOFS_FS=m
774# CONFIG_AUTOFS4_FS is not set
775# CONFIG_FUSE_FS is not set
776
777#
778# CD-ROM/DVD Filesystems
779#
780CONFIG_ISO9660_FS=y
781CONFIG_JOLIET=y
782CONFIG_ZISOFS=y
783CONFIG_ZISOFS_FS=y
784CONFIG_UDF_FS=m
785CONFIG_UDF_NLS=y
786
787#
788# DOS/FAT/NT Filesystems
789#
790CONFIG_FAT_FS=y
791CONFIG_MSDOS_FS=y
792CONFIG_VFAT_FS=y
793CONFIG_FAT_DEFAULT_CODEPAGE=437
794CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
795# CONFIG_NTFS_FS is not set
796
797#
798# Pseudo filesystems
799#
800CONFIG_PROC_FS=y
801CONFIG_PROC_KCORE=y
802CONFIG_SYSFS=y
803CONFIG_TMPFS=y
804# CONFIG_HUGETLBFS is not set
805# CONFIG_HUGETLB_PAGE is not set
806CONFIG_RAMFS=y
807# CONFIG_RELAYFS_FS is not set
808
809#
810# Miscellaneous filesystems
811#
812# CONFIG_ADFS_FS is not set
813# CONFIG_AFFS_FS is not set
814# CONFIG_HFS_FS is not set
815# CONFIG_HFSPLUS_FS is not set
816# CONFIG_BEFS_FS is not set
817# CONFIG_BFS_FS is not set
818# CONFIG_EFS_FS is not set
819CONFIG_CRAMFS=y
820# CONFIG_VXFS_FS is not set
821# CONFIG_HPFS_FS is not set
822# CONFIG_QNX4FS_FS is not set
823# CONFIG_SYSV_FS is not set
824# CONFIG_UFS_FS is not set
825
826#
827# Network File Systems
828#
829CONFIG_NFS_FS=y
830CONFIG_NFS_V3=y
831CONFIG_NFS_V3_ACL=y
832CONFIG_NFS_V4=y
833# CONFIG_NFS_DIRECTIO is not set
834CONFIG_NFSD=m
835CONFIG_NFSD_V2_ACL=y
836CONFIG_NFSD_V3=y
837CONFIG_NFSD_V3_ACL=y
838CONFIG_NFSD_V4=y
839CONFIG_NFSD_TCP=y
840CONFIG_LOCKD=y
841CONFIG_LOCKD_V4=y
842CONFIG_EXPORTFS=m
843CONFIG_NFS_ACL_SUPPORT=y
844CONFIG_NFS_COMMON=y
845CONFIG_SUNRPC=y
846CONFIG_SUNRPC_GSS=y
847CONFIG_RPCSEC_GSS_KRB5=y
848CONFIG_RPCSEC_GSS_SPKM3=m
849# CONFIG_SMB_FS is not set
850CONFIG_CIFS=m
851# CONFIG_CIFS_STATS is not set
852CONFIG_CIFS_XATTR=y
853CONFIG_CIFS_POSIX=y
854# CONFIG_CIFS_EXPERIMENTAL is not set
855# CONFIG_NCP_FS is not set
856# CONFIG_CODA_FS is not set
857# CONFIG_AFS_FS is not set
858# CONFIG_9P_FS is not set
859
860#
861# Partition Types
862#
863# CONFIG_PARTITION_ADVANCED is not set
864CONFIG_MSDOS_PARTITION=y
865
866#
867# Native Language Support
868#
869CONFIG_NLS=y
870CONFIG_NLS_DEFAULT="iso8859-1"
871CONFIG_NLS_CODEPAGE_437=y
872# CONFIG_NLS_CODEPAGE_737 is not set
873# CONFIG_NLS_CODEPAGE_775 is not set
874# CONFIG_NLS_CODEPAGE_850 is not set
875# CONFIG_NLS_CODEPAGE_852 is not set
876# CONFIG_NLS_CODEPAGE_855 is not set
877# CONFIG_NLS_CODEPAGE_857 is not set
878# CONFIG_NLS_CODEPAGE_860 is not set
879# CONFIG_NLS_CODEPAGE_861 is not set
880# CONFIG_NLS_CODEPAGE_862 is not set
881# CONFIG_NLS_CODEPAGE_863 is not set
882# CONFIG_NLS_CODEPAGE_864 is not set
883# CONFIG_NLS_CODEPAGE_865 is not set
884# CONFIG_NLS_CODEPAGE_866 is not set
885# CONFIG_NLS_CODEPAGE_869 is not set
886# CONFIG_NLS_CODEPAGE_936 is not set
887# CONFIG_NLS_CODEPAGE_950 is not set
888# CONFIG_NLS_CODEPAGE_932 is not set
889# CONFIG_NLS_CODEPAGE_949 is not set
890# CONFIG_NLS_CODEPAGE_874 is not set
891# CONFIG_NLS_ISO8859_8 is not set
892# CONFIG_NLS_CODEPAGE_1250 is not set
893# CONFIG_NLS_CODEPAGE_1251 is not set
894CONFIG_NLS_ASCII=y
895CONFIG_NLS_ISO8859_1=y
896# CONFIG_NLS_ISO8859_2 is not set
897# CONFIG_NLS_ISO8859_3 is not set
898# CONFIG_NLS_ISO8859_4 is not set
899# CONFIG_NLS_ISO8859_5 is not set
900# CONFIG_NLS_ISO8859_6 is not set
901# CONFIG_NLS_ISO8859_7 is not set
902# CONFIG_NLS_ISO8859_9 is not set
903# CONFIG_NLS_ISO8859_13 is not set
904# CONFIG_NLS_ISO8859_14 is not set
905# CONFIG_NLS_ISO8859_15 is not set
906# CONFIG_NLS_KOI8_R is not set
907# CONFIG_NLS_KOI8_U is not set
908# CONFIG_NLS_UTF8 is not set
909
910#
911# iSeries device drivers
912#
913CONFIG_VIOCONS=y
914CONFIG_VIODASD=y
915CONFIG_VIOCD=m
916CONFIG_VIOTAPE=m
917CONFIG_VIOPATH=y
918
919#
920# Profiling support
921#
922CONFIG_PROFILING=y
923CONFIG_OPROFILE=y
924
925#
926# Kernel hacking
927#
928# CONFIG_PRINTK_TIME is not set
929CONFIG_DEBUG_KERNEL=y
930CONFIG_MAGIC_SYSRQ=y
931CONFIG_LOG_BUF_SHIFT=17
932CONFIG_DETECT_SOFTLOCKUP=y
933# CONFIG_SCHEDSTATS is not set
934# CONFIG_DEBUG_SLAB is not set
935# CONFIG_DEBUG_SPINLOCK is not set
936# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
937# CONFIG_DEBUG_KOBJECT is not set
938# CONFIG_DEBUG_INFO is not set
939CONFIG_DEBUG_FS=y
940CONFIG_DEBUG_STACKOVERFLOW=y
941# CONFIG_KPROBES is not set
942CONFIG_DEBUG_STACK_USAGE=y
943# CONFIG_DEBUGGER is not set
944# CONFIG_PPCDBG is not set
945CONFIG_IRQSTACKS=y
946
947#
948# Security options
949#
950# CONFIG_KEYS is not set
951# CONFIG_SECURITY is not set
952
953#
954# Cryptographic options
955#
956CONFIG_CRYPTO=y
957CONFIG_CRYPTO_HMAC=y
958CONFIG_CRYPTO_NULL=m
959CONFIG_CRYPTO_MD4=m
960CONFIG_CRYPTO_MD5=y
961CONFIG_CRYPTO_SHA1=m
962CONFIG_CRYPTO_SHA256=m
963CONFIG_CRYPTO_SHA512=m
964CONFIG_CRYPTO_WP512=m
965CONFIG_CRYPTO_TGR192=m
966CONFIG_CRYPTO_DES=y
967CONFIG_CRYPTO_BLOWFISH=m
968CONFIG_CRYPTO_TWOFISH=m
969CONFIG_CRYPTO_SERPENT=m
970CONFIG_CRYPTO_AES=m
971CONFIG_CRYPTO_CAST5=m
972CONFIG_CRYPTO_CAST6=m
973CONFIG_CRYPTO_TEA=m
974CONFIG_CRYPTO_ARC4=m
975CONFIG_CRYPTO_KHAZAD=m
976CONFIG_CRYPTO_ANUBIS=m
977CONFIG_CRYPTO_DEFLATE=m
978CONFIG_CRYPTO_MICHAEL_MIC=m
979CONFIG_CRYPTO_CRC32C=m
980CONFIG_CRYPTO_TEST=m
981
982#
983# Hardware crypto devices
984#
985
986#
987# Library routines
988#
989CONFIG_CRC_CCITT=m
990# CONFIG_CRC16 is not set
991CONFIG_CRC32=y
992CONFIG_LIBCRC32C=m
993CONFIG_ZLIB_INFLATE=y
994CONFIG_ZLIB_DEFLATE=m
995CONFIG_TEXTSEARCH=y
996CONFIG_TEXTSEARCH_KMP=m
997CONFIG_TEXTSEARCH_BM=m
998CONFIG_TEXTSEARCH_FSM=m
diff --git a/arch/ppc64/configs/maple_defconfig b/arch/ppc64/configs/maple_defconfig
deleted file mode 100644
index 7b480f3d1406..000000000000
--- a/arch/ppc64/configs/maple_defconfig
+++ /dev/null
@@ -1,1062 +0,0 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.14-rc4
4# Thu Oct 20 08:31:24 2005
5#
6CONFIG_64BIT=y
7CONFIG_MMU=y
8CONFIG_RWSEM_XCHGADD_ALGORITHM=y
9CONFIG_GENERIC_CALIBRATE_DELAY=y
10CONFIG_GENERIC_ISA_DMA=y
11CONFIG_EARLY_PRINTK=y
12CONFIG_COMPAT=y
13CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
14CONFIG_ARCH_MAY_HAVE_PC_FDC=y
15CONFIG_FORCE_MAX_ZONEORDER=13
16
17#
18# Code maturity level options
19#
20CONFIG_EXPERIMENTAL=y
21CONFIG_CLEAN_COMPILE=y
22CONFIG_LOCK_KERNEL=y
23CONFIG_INIT_ENV_ARG_LIMIT=32
24
25#
26# General setup
27#
28CONFIG_LOCALVERSION=""
29CONFIG_LOCALVERSION_AUTO=y
30CONFIG_SWAP=y
31CONFIG_SYSVIPC=y
32CONFIG_POSIX_MQUEUE=y
33# CONFIG_BSD_PROCESS_ACCT is not set
34CONFIG_SYSCTL=y
35# CONFIG_AUDIT is not set
36# CONFIG_HOTPLUG is not set
37CONFIG_KOBJECT_UEVENT=y
38CONFIG_IKCONFIG=y
39CONFIG_IKCONFIG_PROC=y
40# CONFIG_CPUSETS is not set
41CONFIG_INITRAMFS_SOURCE=""
42# CONFIG_EMBEDDED is not set
43CONFIG_KALLSYMS=y
44CONFIG_KALLSYMS_ALL=y
45# CONFIG_KALLSYMS_EXTRA_PASS is not set
46CONFIG_PRINTK=y
47CONFIG_BUG=y
48CONFIG_BASE_FULL=y
49CONFIG_FUTEX=y
50CONFIG_EPOLL=y
51CONFIG_SHMEM=y
52CONFIG_CC_ALIGN_FUNCTIONS=0
53CONFIG_CC_ALIGN_LABELS=0
54CONFIG_CC_ALIGN_LOOPS=0
55CONFIG_CC_ALIGN_JUMPS=0
56# CONFIG_TINY_SHMEM is not set
57CONFIG_BASE_SMALL=0
58
59#
60# Loadable module support
61#
62CONFIG_MODULES=y
63CONFIG_MODULE_UNLOAD=y
64# CONFIG_MODULE_FORCE_UNLOAD is not set
65CONFIG_OBSOLETE_MODPARM=y
66CONFIG_MODVERSIONS=y
67CONFIG_MODULE_SRCVERSION_ALL=y
68CONFIG_KMOD=y
69CONFIG_STOP_MACHINE=y
70CONFIG_SYSVIPC_COMPAT=y
71
72#
73# Platform support
74#
75# CONFIG_PPC_ISERIES is not set
76CONFIG_PPC_MULTIPLATFORM=y
77# CONFIG_PPC_PSERIES is not set
78# CONFIG_PPC_BPA is not set
79# CONFIG_PPC_PMAC is not set
80CONFIG_PPC_MAPLE=y
81CONFIG_PPC=y
82CONFIG_PPC64=y
83CONFIG_PPC_OF=y
84CONFIG_MPIC=y
85# CONFIG_ALTIVEC is not set
86CONFIG_KEXEC=y
87CONFIG_U3_DART=y
88CONFIG_MPIC_BROKEN_U3=y
89CONFIG_BOOTX_TEXT=y
90CONFIG_POWER4_ONLY=y
91CONFIG_IOMMU_VMERGE=y
92CONFIG_SMP=y
93CONFIG_NR_CPUS=2
94CONFIG_ARCH_SELECT_MEMORY_MODEL=y
95CONFIG_ARCH_FLATMEM_ENABLE=y
96CONFIG_SELECT_MEMORY_MODEL=y
97CONFIG_FLATMEM_MANUAL=y
98# CONFIG_DISCONTIGMEM_MANUAL is not set
99# CONFIG_SPARSEMEM_MANUAL is not set
100CONFIG_FLATMEM=y
101CONFIG_FLAT_NODE_MEM_MAP=y
102# CONFIG_SPARSEMEM_STATIC is not set
103# CONFIG_NUMA is not set
104# CONFIG_SCHED_SMT is not set
105CONFIG_PREEMPT_NONE=y
106# CONFIG_PREEMPT_VOLUNTARY is not set
107# CONFIG_PREEMPT is not set
108# CONFIG_PREEMPT_BKL is not set
109# CONFIG_HZ_100 is not set
110CONFIG_HZ_250=y
111# CONFIG_HZ_1000 is not set
112CONFIG_HZ=250
113CONFIG_GENERIC_HARDIRQS=y
114CONFIG_SECCOMP=y
115CONFIG_BINFMT_ELF=y
116# CONFIG_BINFMT_MISC is not set
117CONFIG_PROC_DEVICETREE=y
118# CONFIG_CMDLINE_BOOL is not set
119CONFIG_ISA_DMA_API=y
120
121#
122# Bus Options
123#
124CONFIG_PCI=y
125CONFIG_PCI_DOMAINS=y
126CONFIG_PCI_LEGACY_PROC=y
127# CONFIG_PCI_DEBUG is not set
128
129#
130# PCCARD (PCMCIA/CardBus) support
131#
132# CONFIG_PCCARD is not set
133
134#
135# PCI Hotplug Support
136#
137# CONFIG_HOTPLUG_PCI is not set
138
139#
140# Networking
141#
142CONFIG_NET=y
143
144#
145# Networking options
146#
147CONFIG_PACKET=y
148CONFIG_PACKET_MMAP=y
149CONFIG_UNIX=y
150# CONFIG_NET_KEY is not set
151CONFIG_INET=y
152CONFIG_IP_MULTICAST=y
153# CONFIG_IP_ADVANCED_ROUTER is not set
154CONFIG_IP_FIB_HASH=y
155CONFIG_IP_PNP=y
156CONFIG_IP_PNP_DHCP=y
157# CONFIG_IP_PNP_BOOTP is not set
158# CONFIG_IP_PNP_RARP is not set
159# CONFIG_NET_IPIP is not set
160# CONFIG_NET_IPGRE is not set
161# CONFIG_IP_MROUTE is not set
162# CONFIG_ARPD is not set
163# CONFIG_SYN_COOKIES is not set
164# CONFIG_INET_AH is not set
165# CONFIG_INET_ESP is not set
166# CONFIG_INET_IPCOMP is not set
167# CONFIG_INET_TUNNEL is not set
168CONFIG_INET_DIAG=y
169CONFIG_INET_TCP_DIAG=y
170# CONFIG_TCP_CONG_ADVANCED is not set
171CONFIG_TCP_CONG_BIC=y
172# CONFIG_IPV6 is not set
173# CONFIG_NETFILTER is not set
174
175#
176# DCCP Configuration (EXPERIMENTAL)
177#
178# CONFIG_IP_DCCP is not set
179
180#
181# SCTP Configuration (EXPERIMENTAL)
182#
183# CONFIG_IP_SCTP is not set
184# CONFIG_ATM is not set
185# CONFIG_BRIDGE is not set
186# CONFIG_VLAN_8021Q is not set
187# CONFIG_DECNET is not set
188# CONFIG_LLC2 is not set
189# CONFIG_IPX is not set
190# CONFIG_ATALK is not set
191# CONFIG_X25 is not set
192# CONFIG_LAPB is not set
193# CONFIG_NET_DIVERT is not set
194# CONFIG_ECONET is not set
195# CONFIG_WAN_ROUTER is not set
196# CONFIG_NET_SCHED is not set
197# CONFIG_NET_CLS_ROUTE is not set
198
199#
200# Network testing
201#
202# CONFIG_NET_PKTGEN is not set
203# CONFIG_HAMRADIO is not set
204# CONFIG_IRDA is not set
205# CONFIG_BT is not set
206# CONFIG_IEEE80211 is not set
207
208#
209# Device Drivers
210#
211
212#
213# Generic Driver Options
214#
215CONFIG_STANDALONE=y
216CONFIG_PREVENT_FIRMWARE_BUILD=y
217# CONFIG_FW_LOADER is not set
218# CONFIG_DEBUG_DRIVER is not set
219
220#
221# Connector - unified userspace <-> kernelspace linker
222#
223# CONFIG_CONNECTOR is not set
224
225#
226# Memory Technology Devices (MTD)
227#
228# CONFIG_MTD is not set
229
230#
231# Parallel port support
232#
233# CONFIG_PARPORT is not set
234
235#
236# Plug and Play support
237#
238
239#
240# Block devices
241#
242# CONFIG_BLK_DEV_FD is not set
243# CONFIG_BLK_CPQ_DA is not set
244# CONFIG_BLK_CPQ_CISS_DA is not set
245# CONFIG_BLK_DEV_DAC960 is not set
246# CONFIG_BLK_DEV_UMEM is not set
247# CONFIG_BLK_DEV_COW_COMMON is not set
248# CONFIG_BLK_DEV_LOOP is not set
249# CONFIG_BLK_DEV_NBD is not set
250# CONFIG_BLK_DEV_SX8 is not set
251# CONFIG_BLK_DEV_UB is not set
252CONFIG_BLK_DEV_RAM=y
253CONFIG_BLK_DEV_RAM_COUNT=16
254CONFIG_BLK_DEV_RAM_SIZE=8192
255# CONFIG_BLK_DEV_INITRD is not set
256# CONFIG_CDROM_PKTCDVD is not set
257
258#
259# IO Schedulers
260#
261CONFIG_IOSCHED_NOOP=y
262CONFIG_IOSCHED_AS=y
263CONFIG_IOSCHED_DEADLINE=y
264CONFIG_IOSCHED_CFQ=y
265# CONFIG_ATA_OVER_ETH is not set
266
267#
268# ATA/ATAPI/MFM/RLL support
269#
270CONFIG_IDE=y
271CONFIG_BLK_DEV_IDE=y
272
273#
274# Please see Documentation/ide.txt for help/info on IDE drives
275#
276# CONFIG_BLK_DEV_IDE_SATA is not set
277CONFIG_BLK_DEV_IDEDISK=y
278# CONFIG_IDEDISK_MULTI_MODE is not set
279CONFIG_BLK_DEV_IDECD=y
280# CONFIG_BLK_DEV_IDETAPE is not set
281# CONFIG_BLK_DEV_IDEFLOPPY is not set
282CONFIG_IDE_TASK_IOCTL=y
283
284#
285# IDE chipset support/bugfixes
286#
287CONFIG_IDE_GENERIC=y
288CONFIG_BLK_DEV_IDEPCI=y
289CONFIG_IDEPCI_SHARE_IRQ=y
290# CONFIG_BLK_DEV_OFFBOARD is not set
291CONFIG_BLK_DEV_GENERIC=y
292# CONFIG_BLK_DEV_OPTI621 is not set
293# CONFIG_BLK_DEV_SL82C105 is not set
294CONFIG_BLK_DEV_IDEDMA_PCI=y
295# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
296CONFIG_IDEDMA_PCI_AUTO=y
297# CONFIG_IDEDMA_ONLYDISK is not set
298# CONFIG_BLK_DEV_AEC62XX is not set
299# CONFIG_BLK_DEV_ALI15X3 is not set
300CONFIG_BLK_DEV_AMD74XX=y
301# CONFIG_BLK_DEV_CMD64X is not set
302# CONFIG_BLK_DEV_TRIFLEX is not set
303# CONFIG_BLK_DEV_CY82C693 is not set
304# CONFIG_BLK_DEV_CS5520 is not set
305# CONFIG_BLK_DEV_CS5530 is not set
306# CONFIG_BLK_DEV_HPT34X is not set
307# CONFIG_BLK_DEV_HPT366 is not set
308# CONFIG_BLK_DEV_SC1200 is not set
309# CONFIG_BLK_DEV_PIIX is not set
310# CONFIG_BLK_DEV_IT821X is not set
311# CONFIG_BLK_DEV_NS87415 is not set
312# CONFIG_BLK_DEV_PDC202XX_OLD is not set
313# CONFIG_BLK_DEV_PDC202XX_NEW is not set
314# CONFIG_BLK_DEV_SVWKS is not set
315# CONFIG_BLK_DEV_SIIMAGE is not set
316# CONFIG_BLK_DEV_SLC90E66 is not set
317# CONFIG_BLK_DEV_TRM290 is not set
318# CONFIG_BLK_DEV_VIA82CXXX is not set
319# CONFIG_IDE_ARM is not set
320CONFIG_BLK_DEV_IDEDMA=y
321# CONFIG_IDEDMA_IVB is not set
322CONFIG_IDEDMA_AUTO=y
323# CONFIG_BLK_DEV_HD is not set
324
325#
326# SCSI device support
327#
328# CONFIG_RAID_ATTRS is not set
329# CONFIG_SCSI is not set
330
331#
332# Multi-device support (RAID and LVM)
333#
334# CONFIG_MD is not set
335
336#
337# Fusion MPT device support
338#
339# CONFIG_FUSION is not set
340
341#
342# IEEE 1394 (FireWire) support
343#
344# CONFIG_IEEE1394 is not set
345
346#
347# I2O device support
348#
349# CONFIG_I2O is not set
350
351#
352# Macintosh device drivers
353#
354
355#
356# Network device support
357#
358CONFIG_NETDEVICES=y
359# CONFIG_DUMMY is not set
360# CONFIG_BONDING is not set
361# CONFIG_EQUALIZER is not set
362# CONFIG_TUN is not set
363
364#
365# ARCnet devices
366#
367# CONFIG_ARCNET is not set
368
369#
370# PHY device support
371#
372# CONFIG_PHYLIB is not set
373
374#
375# Ethernet (10 or 100Mbit)
376#
377CONFIG_NET_ETHERNET=y
378CONFIG_MII=y
379# CONFIG_HAPPYMEAL is not set
380# CONFIG_SUNGEM is not set
381# CONFIG_CASSINI is not set
382# CONFIG_NET_VENDOR_3COM is not set
383
384#
385# Tulip family network device support
386#
387# CONFIG_NET_TULIP is not set
388# CONFIG_HP100 is not set
389CONFIG_NET_PCI=y
390# CONFIG_PCNET32 is not set
391CONFIG_AMD8111_ETH=y
392# CONFIG_AMD8111E_NAPI is not set
393# CONFIG_ADAPTEC_STARFIRE is not set
394# CONFIG_B44 is not set
395# CONFIG_FORCEDETH is not set
396# CONFIG_DGRS is not set
397# CONFIG_EEPRO100 is not set
398# CONFIG_E100 is not set
399# CONFIG_FEALNX is not set
400# CONFIG_NATSEMI is not set
401# CONFIG_NE2K_PCI is not set
402# CONFIG_8139CP is not set
403# CONFIG_8139TOO is not set
404# CONFIG_SIS900 is not set
405# CONFIG_EPIC100 is not set
406# CONFIG_SUNDANCE is not set
407# CONFIG_VIA_RHINE is not set
408
409#
410# Ethernet (1000 Mbit)
411#
412# CONFIG_ACENIC is not set
413# CONFIG_DL2K is not set
414CONFIG_E1000=y
415# CONFIG_E1000_NAPI is not set
416# CONFIG_NS83820 is not set
417# CONFIG_HAMACHI is not set
418# CONFIG_YELLOWFIN is not set
419# CONFIG_R8169 is not set
420# CONFIG_SIS190 is not set
421# CONFIG_SKGE is not set
422# CONFIG_SK98LIN is not set
423# CONFIG_VIA_VELOCITY is not set
424# CONFIG_TIGON3 is not set
425# CONFIG_BNX2 is not set
426# CONFIG_MV643XX_ETH is not set
427
428#
429# Ethernet (10000 Mbit)
430#
431# CONFIG_CHELSIO_T1 is not set
432# CONFIG_IXGB is not set
433# CONFIG_S2IO is not set
434
435#
436# Token Ring devices
437#
438# CONFIG_TR is not set
439
440#
441# Wireless LAN (non-hamradio)
442#
443# CONFIG_NET_RADIO is not set
444
445#
446# Wan interfaces
447#
448# CONFIG_WAN is not set
449# CONFIG_FDDI is not set
450# CONFIG_HIPPI is not set
451# CONFIG_PPP is not set
452# CONFIG_SLIP is not set
453# CONFIG_SHAPER is not set
454# CONFIG_NETCONSOLE is not set
455# CONFIG_NETPOLL is not set
456# CONFIG_NET_POLL_CONTROLLER is not set
457
458#
459# ISDN subsystem
460#
461# CONFIG_ISDN is not set
462
463#
464# Telephony Support
465#
466# CONFIG_PHONE is not set
467
468#
469# Input device support
470#
471CONFIG_INPUT=y
472
473#
474# Userland interfaces
475#
476CONFIG_INPUT_MOUSEDEV=y
477# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
478CONFIG_INPUT_MOUSEDEV_SCREEN_X=1600
479CONFIG_INPUT_MOUSEDEV_SCREEN_Y=1200
480# CONFIG_INPUT_JOYDEV is not set
481# CONFIG_INPUT_TSDEV is not set
482# CONFIG_INPUT_EVDEV is not set
483# CONFIG_INPUT_EVBUG is not set
484
485#
486# Input Device Drivers
487#
488# CONFIG_INPUT_KEYBOARD is not set
489# CONFIG_INPUT_MOUSE is not set
490# CONFIG_INPUT_JOYSTICK is not set
491# CONFIG_INPUT_TOUCHSCREEN is not set
492# CONFIG_INPUT_MISC is not set
493
494#
495# Hardware I/O ports
496#
497# CONFIG_SERIO is not set
498# CONFIG_GAMEPORT is not set
499
500#
501# Character devices
502#
503CONFIG_VT=y
504CONFIG_VT_CONSOLE=y
505CONFIG_HW_CONSOLE=y
506# CONFIG_SERIAL_NONSTANDARD is not set
507
508#
509# Serial drivers
510#
511CONFIG_SERIAL_8250=y
512CONFIG_SERIAL_8250_CONSOLE=y
513CONFIG_SERIAL_8250_NR_UARTS=4
514# CONFIG_SERIAL_8250_EXTENDED is not set
515
516#
517# Non-8250 serial port support
518#
519CONFIG_SERIAL_CORE=y
520CONFIG_SERIAL_CORE_CONSOLE=y
521# CONFIG_SERIAL_JSM is not set
522CONFIG_UNIX98_PTYS=y
523CONFIG_LEGACY_PTYS=y
524CONFIG_LEGACY_PTY_COUNT=256
525
526#
527# IPMI
528#
529# CONFIG_IPMI_HANDLER is not set
530
531#
532# Watchdog Cards
533#
534# CONFIG_WATCHDOG is not set
535# CONFIG_RTC is not set
536# CONFIG_DTLK is not set
537# CONFIG_R3964 is not set
538# CONFIG_APPLICOM is not set
539
540#
541# Ftape, the floppy tape device driver
542#
543# CONFIG_AGP is not set
544# CONFIG_DRM is not set
545# CONFIG_RAW_DRIVER is not set
546# CONFIG_HANGCHECK_TIMER is not set
547
548#
549# TPM devices
550#
551# CONFIG_TCG_TPM is not set
552
553#
554# I2C support
555#
556CONFIG_I2C=y
557CONFIG_I2C_CHARDEV=y
558
559#
560# I2C Algorithms
561#
562CONFIG_I2C_ALGOBIT=y
563# CONFIG_I2C_ALGOPCF is not set
564# CONFIG_I2C_ALGOPCA is not set
565
566#
567# I2C Hardware Bus support
568#
569# CONFIG_I2C_ALI1535 is not set
570# CONFIG_I2C_ALI1563 is not set
571# CONFIG_I2C_ALI15X3 is not set
572# CONFIG_I2C_AMD756 is not set
573CONFIG_I2C_AMD8111=y
574# CONFIG_I2C_I801 is not set
575# CONFIG_I2C_I810 is not set
576# CONFIG_I2C_PIIX4 is not set
577# CONFIG_I2C_NFORCE2 is not set
578# CONFIG_I2C_PARPORT_LIGHT is not set
579# CONFIG_I2C_PROSAVAGE is not set
580# CONFIG_I2C_SAVAGE4 is not set
581# CONFIG_SCx200_ACB is not set
582# CONFIG_I2C_SIS5595 is not set
583# CONFIG_I2C_SIS630 is not set
584# CONFIG_I2C_SIS96X is not set
585# CONFIG_I2C_STUB is not set
586# CONFIG_I2C_VIA is not set
587# CONFIG_I2C_VIAPRO is not set
588# CONFIG_I2C_VOODOO3 is not set
589# CONFIG_I2C_PCA_ISA is not set
590
591#
592# Miscellaneous I2C Chip support
593#
594# CONFIG_SENSORS_DS1337 is not set
595# CONFIG_SENSORS_DS1374 is not set
596# CONFIG_SENSORS_EEPROM is not set
597# CONFIG_SENSORS_PCF8574 is not set
598# CONFIG_SENSORS_PCA9539 is not set
599# CONFIG_SENSORS_PCF8591 is not set
600# CONFIG_SENSORS_RTC8564 is not set
601# CONFIG_SENSORS_MAX6875 is not set
602# CONFIG_I2C_DEBUG_CORE is not set
603# CONFIG_I2C_DEBUG_ALGO is not set
604# CONFIG_I2C_DEBUG_BUS is not set
605# CONFIG_I2C_DEBUG_CHIP is not set
606
607#
608# Dallas's 1-wire bus
609#
610# CONFIG_W1 is not set
611
612#
613# Hardware Monitoring support
614#
615# CONFIG_HWMON is not set
616# CONFIG_HWMON_VID is not set
617
618#
619# Misc devices
620#
621
622#
623# Multimedia Capabilities Port drivers
624#
625
626#
627# Multimedia devices
628#
629# CONFIG_VIDEO_DEV is not set
630
631#
632# Digital Video Broadcasting Devices
633#
634# CONFIG_DVB is not set
635
636#
637# Graphics support
638#
639# CONFIG_FB is not set
640
641#
642# Console display driver support
643#
644# CONFIG_VGA_CONSOLE is not set
645CONFIG_DUMMY_CONSOLE=y
646
647#
648# Sound
649#
650# CONFIG_SOUND is not set
651
652#
653# USB support
654#
655CONFIG_USB_ARCH_HAS_HCD=y
656CONFIG_USB_ARCH_HAS_OHCI=y
657CONFIG_USB=y
658# CONFIG_USB_DEBUG is not set
659
660#
661# Miscellaneous USB options
662#
663CONFIG_USB_DEVICEFS=y
664# CONFIG_USB_BANDWIDTH is not set
665# CONFIG_USB_DYNAMIC_MINORS is not set
666# CONFIG_USB_OTG is not set
667
668#
669# USB Host Controller Drivers
670#
671CONFIG_USB_EHCI_HCD=y
672CONFIG_USB_EHCI_SPLIT_ISO=y
673CONFIG_USB_EHCI_ROOT_HUB_TT=y
674# CONFIG_USB_ISP116X_HCD is not set
675CONFIG_USB_OHCI_HCD=y
676# CONFIG_USB_OHCI_BIG_ENDIAN is not set
677CONFIG_USB_OHCI_LITTLE_ENDIAN=y
678CONFIG_USB_UHCI_HCD=y
679# CONFIG_USB_SL811_HCD is not set
680
681#
682# USB Device Class drivers
683#
684# CONFIG_USB_BLUETOOTH_TTY is not set
685# CONFIG_USB_ACM is not set
686# CONFIG_USB_PRINTER is not set
687
688#
689# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
690#
691# CONFIG_USB_STORAGE is not set
692
693#
694# USB Input Devices
695#
696CONFIG_USB_HID=y
697CONFIG_USB_HIDINPUT=y
698# CONFIG_HID_FF is not set
699# CONFIG_USB_HIDDEV is not set
700# CONFIG_USB_AIPTEK is not set
701# CONFIG_USB_WACOM is not set
702# CONFIG_USB_ACECAD is not set
703# CONFIG_USB_KBTAB is not set
704# CONFIG_USB_POWERMATE is not set
705# CONFIG_USB_MTOUCH is not set
706# CONFIG_USB_ITMTOUCH is not set
707# CONFIG_USB_EGALAX is not set
708# CONFIG_USB_YEALINK is not set
709# CONFIG_USB_XPAD is not set
710# CONFIG_USB_ATI_REMOTE is not set
711# CONFIG_USB_KEYSPAN_REMOTE is not set
712# CONFIG_USB_APPLETOUCH is not set
713
714#
715# USB Imaging devices
716#
717# CONFIG_USB_MDC800 is not set
718
719#
720# USB Multimedia devices
721#
722# CONFIG_USB_DABUSB is not set
723
724#
725# Video4Linux support is needed for USB Multimedia device support
726#
727
728#
729# USB Network Adapters
730#
731# CONFIG_USB_CATC is not set
732# CONFIG_USB_KAWETH is not set
733CONFIG_USB_PEGASUS=y
734# CONFIG_USB_RTL8150 is not set
735# CONFIG_USB_USBNET is not set
736CONFIG_USB_MON=y
737
738#
739# USB port drivers
740#
741
742#
743# USB Serial Converter support
744#
745CONFIG_USB_SERIAL=y
746# CONFIG_USB_SERIAL_CONSOLE is not set
747CONFIG_USB_SERIAL_GENERIC=y
748# CONFIG_USB_SERIAL_AIRPRIME is not set
749# CONFIG_USB_SERIAL_BELKIN is not set
750# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
751# CONFIG_USB_SERIAL_CP2101 is not set
752CONFIG_USB_SERIAL_CYPRESS_M8=m
753# CONFIG_USB_SERIAL_EMPEG is not set
754# CONFIG_USB_SERIAL_FTDI_SIO is not set
755# CONFIG_USB_SERIAL_VISOR is not set
756# CONFIG_USB_SERIAL_IPAQ is not set
757# CONFIG_USB_SERIAL_IR is not set
758# CONFIG_USB_SERIAL_EDGEPORT is not set
759# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
760CONFIG_USB_SERIAL_GARMIN=m
761CONFIG_USB_SERIAL_IPW=m
762# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
763CONFIG_USB_SERIAL_KEYSPAN=y
764CONFIG_USB_SERIAL_KEYSPAN_MPR=y
765CONFIG_USB_SERIAL_KEYSPAN_USA28=y
766CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
767CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
768CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
769CONFIG_USB_SERIAL_KEYSPAN_USA19=y
770CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
771CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
772CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
773CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
774CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
775CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
776# CONFIG_USB_SERIAL_KLSI is not set
777# CONFIG_USB_SERIAL_KOBIL_SCT is not set
778# CONFIG_USB_SERIAL_MCT_U232 is not set
779# CONFIG_USB_SERIAL_PL2303 is not set
780# CONFIG_USB_SERIAL_HP4X is not set
781# CONFIG_USB_SERIAL_SAFE is not set
782CONFIG_USB_SERIAL_TI=m
783# CONFIG_USB_SERIAL_CYBERJACK is not set
784# CONFIG_USB_SERIAL_XIRCOM is not set
785# CONFIG_USB_SERIAL_OMNINET is not set
786CONFIG_USB_EZUSB=y
787
788#
789# USB Miscellaneous drivers
790#
791# CONFIG_USB_EMI62 is not set
792# CONFIG_USB_EMI26 is not set
793# CONFIG_USB_AUERSWALD is not set
794# CONFIG_USB_RIO500 is not set
795# CONFIG_USB_LEGOTOWER is not set
796# CONFIG_USB_LCD is not set
797# CONFIG_USB_LED is not set
798# CONFIG_USB_CYTHERM is not set
799# CONFIG_USB_PHIDGETKIT is not set
800# CONFIG_USB_PHIDGETSERVO is not set
801# CONFIG_USB_IDMOUSE is not set
802# CONFIG_USB_SISUSBVGA is not set
803# CONFIG_USB_LD is not set
804# CONFIG_USB_TEST is not set
805
806#
807# USB DSL modem support
808#
809
810#
811# USB Gadget Support
812#
813# CONFIG_USB_GADGET is not set
814
815#
816# MMC/SD Card support
817#
818# CONFIG_MMC is not set
819
820#
821# InfiniBand support
822#
823# CONFIG_INFINIBAND is not set
824
825#
826# SN Devices
827#
828
829#
830# File systems
831#
832CONFIG_EXT2_FS=y
833# CONFIG_EXT2_FS_XATTR is not set
834CONFIG_EXT2_FS_XIP=y
835CONFIG_FS_XIP=y
836CONFIG_EXT3_FS=y
837# CONFIG_EXT3_FS_XATTR is not set
838CONFIG_JBD=y
839# CONFIG_JBD_DEBUG is not set
840# CONFIG_REISERFS_FS is not set
841# CONFIG_JFS_FS is not set
842CONFIG_FS_POSIX_ACL=y
843# CONFIG_XFS_FS is not set
844# CONFIG_MINIX_FS is not set
845# CONFIG_ROMFS_FS is not set
846CONFIG_INOTIFY=y
847# CONFIG_QUOTA is not set
848CONFIG_DNOTIFY=y
849# CONFIG_AUTOFS_FS is not set
850# CONFIG_AUTOFS4_FS is not set
851# CONFIG_FUSE_FS is not set
852
853#
854# CD-ROM/DVD Filesystems
855#
856# CONFIG_ISO9660_FS is not set
857# CONFIG_UDF_FS is not set
858
859#
860# DOS/FAT/NT Filesystems
861#
862CONFIG_FAT_FS=y
863CONFIG_MSDOS_FS=y
864CONFIG_VFAT_FS=y
865CONFIG_FAT_DEFAULT_CODEPAGE=437
866CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
867# CONFIG_NTFS_FS is not set
868
869#
870# Pseudo filesystems
871#
872CONFIG_PROC_FS=y
873CONFIG_PROC_KCORE=y
874CONFIG_SYSFS=y
875CONFIG_TMPFS=y
876CONFIG_HUGETLBFS=y
877CONFIG_HUGETLB_PAGE=y
878CONFIG_RAMFS=y
879# CONFIG_RELAYFS_FS is not set
880
881#
882# Miscellaneous filesystems
883#
884# CONFIG_ADFS_FS is not set
885# CONFIG_AFFS_FS is not set
886# CONFIG_HFS_FS is not set
887# CONFIG_HFSPLUS_FS is not set
888# CONFIG_BEFS_FS is not set
889# CONFIG_BFS_FS is not set
890# CONFIG_EFS_FS is not set
891CONFIG_CRAMFS=y
892# CONFIG_VXFS_FS is not set
893# CONFIG_HPFS_FS is not set
894# CONFIG_QNX4FS_FS is not set
895# CONFIG_SYSV_FS is not set
896# CONFIG_UFS_FS is not set
897
898#
899# Network File Systems
900#
901CONFIG_NFS_FS=y
902CONFIG_NFS_V3=y
903CONFIG_NFS_V3_ACL=y
904CONFIG_NFS_V4=y
905# CONFIG_NFS_DIRECTIO is not set
906# CONFIG_NFSD is not set
907CONFIG_ROOT_NFS=y
908CONFIG_LOCKD=y
909CONFIG_LOCKD_V4=y
910CONFIG_NFS_ACL_SUPPORT=y
911CONFIG_NFS_COMMON=y
912CONFIG_SUNRPC=y
913CONFIG_SUNRPC_GSS=y
914CONFIG_RPCSEC_GSS_KRB5=y
915# CONFIG_RPCSEC_GSS_SPKM3 is not set
916# CONFIG_SMB_FS is not set
917# CONFIG_CIFS is not set
918# CONFIG_NCP_FS is not set
919# CONFIG_CODA_FS is not set
920# CONFIG_AFS_FS is not set
921# CONFIG_9P_FS is not set
922
923#
924# Partition Types
925#
926CONFIG_PARTITION_ADVANCED=y
927# CONFIG_ACORN_PARTITION is not set
928# CONFIG_OSF_PARTITION is not set
929# CONFIG_AMIGA_PARTITION is not set
930# CONFIG_ATARI_PARTITION is not set
931CONFIG_MAC_PARTITION=y
932CONFIG_MSDOS_PARTITION=y
933# CONFIG_BSD_DISKLABEL is not set
934# CONFIG_MINIX_SUBPARTITION is not set
935# CONFIG_SOLARIS_X86_PARTITION is not set
936# CONFIG_UNIXWARE_DISKLABEL is not set
937# CONFIG_LDM_PARTITION is not set
938# CONFIG_SGI_PARTITION is not set
939# CONFIG_ULTRIX_PARTITION is not set
940# CONFIG_SUN_PARTITION is not set
941# CONFIG_EFI_PARTITION is not set
942
943#
944# Native Language Support
945#
946CONFIG_NLS=y
947CONFIG_NLS_DEFAULT="utf-8"
948# CONFIG_NLS_CODEPAGE_437 is not set
949# CONFIG_NLS_CODEPAGE_737 is not set
950# CONFIG_NLS_CODEPAGE_775 is not set
951# CONFIG_NLS_CODEPAGE_850 is not set
952# CONFIG_NLS_CODEPAGE_852 is not set
953# CONFIG_NLS_CODEPAGE_855 is not set
954# CONFIG_NLS_CODEPAGE_857 is not set
955# CONFIG_NLS_CODEPAGE_860 is not set
956# CONFIG_NLS_CODEPAGE_861 is not set
957# CONFIG_NLS_CODEPAGE_862 is not set
958# CONFIG_NLS_CODEPAGE_863 is not set
959# CONFIG_NLS_CODEPAGE_864 is not set
960# CONFIG_NLS_CODEPAGE_865 is not set
961# CONFIG_NLS_CODEPAGE_866 is not set
962# CONFIG_NLS_CODEPAGE_869 is not set
963# CONFIG_NLS_CODEPAGE_936 is not set
964# CONFIG_NLS_CODEPAGE_950 is not set
965# CONFIG_NLS_CODEPAGE_932 is not set
966# CONFIG_NLS_CODEPAGE_949 is not set
967# CONFIG_NLS_CODEPAGE_874 is not set
968# CONFIG_NLS_ISO8859_8 is not set
969# CONFIG_NLS_CODEPAGE_1250 is not set
970# CONFIG_NLS_CODEPAGE_1251 is not set
971# CONFIG_NLS_ASCII is not set
972# CONFIG_NLS_ISO8859_1 is not set
973# CONFIG_NLS_ISO8859_2 is not set
974# CONFIG_NLS_ISO8859_3 is not set
975# CONFIG_NLS_ISO8859_4 is not set
976# CONFIG_NLS_ISO8859_5 is not set
977# CONFIG_NLS_ISO8859_6 is not set
978# CONFIG_NLS_ISO8859_7 is not set
979# CONFIG_NLS_ISO8859_9 is not set
980# CONFIG_NLS_ISO8859_13 is not set
981# CONFIG_NLS_ISO8859_14 is not set
982# CONFIG_NLS_ISO8859_15 is not set
983# CONFIG_NLS_KOI8_R is not set
984# CONFIG_NLS_KOI8_U is not set
985CONFIG_NLS_UTF8=y
986
987#
988# Profiling support
989#
990# CONFIG_PROFILING is not set
991
992#
993# Kernel hacking
994#
995# CONFIG_PRINTK_TIME is not set
996CONFIG_DEBUG_KERNEL=y
997CONFIG_MAGIC_SYSRQ=y
998CONFIG_LOG_BUF_SHIFT=17
999CONFIG_DETECT_SOFTLOCKUP=y
1000# CONFIG_SCHEDSTATS is not set
1001CONFIG_DEBUG_SLAB=y
1002# CONFIG_DEBUG_SPINLOCK is not set
1003CONFIG_DEBUG_SPINLOCK_SLEEP=y
1004# CONFIG_DEBUG_KOBJECT is not set
1005# CONFIG_DEBUG_INFO is not set
1006CONFIG_DEBUG_FS=y
1007CONFIG_DEBUG_STACKOVERFLOW=y
1008# CONFIG_KPROBES is not set
1009CONFIG_DEBUG_STACK_USAGE=y
1010CONFIG_DEBUGGER=y
1011CONFIG_XMON=y
1012CONFIG_XMON_DEFAULT=y
1013# CONFIG_PPCDBG is not set
1014# CONFIG_IRQSTACKS is not set
1015
1016#
1017# Security options
1018#
1019# CONFIG_KEYS is not set
1020# CONFIG_SECURITY is not set
1021
1022#
1023# Cryptographic options
1024#
1025CONFIG_CRYPTO=y
1026# CONFIG_CRYPTO_HMAC is not set
1027# CONFIG_CRYPTO_NULL is not set
1028# CONFIG_CRYPTO_MD4 is not set
1029CONFIG_CRYPTO_MD5=y
1030# CONFIG_CRYPTO_SHA1 is not set
1031# CONFIG_CRYPTO_SHA256 is not set
1032# CONFIG_CRYPTO_SHA512 is not set
1033# CONFIG_CRYPTO_WP512 is not set
1034# CONFIG_CRYPTO_TGR192 is not set
1035CONFIG_CRYPTO_DES=y
1036# CONFIG_CRYPTO_BLOWFISH is not set
1037# CONFIG_CRYPTO_TWOFISH is not set
1038# CONFIG_CRYPTO_SERPENT is not set
1039# CONFIG_CRYPTO_AES is not set
1040# CONFIG_CRYPTO_CAST5 is not set
1041# CONFIG_CRYPTO_CAST6 is not set
1042# CONFIG_CRYPTO_TEA is not set
1043# CONFIG_CRYPTO_ARC4 is not set
1044# CONFIG_CRYPTO_KHAZAD is not set
1045# CONFIG_CRYPTO_ANUBIS is not set
1046# CONFIG_CRYPTO_DEFLATE is not set
1047# CONFIG_CRYPTO_MICHAEL_MIC is not set
1048# CONFIG_CRYPTO_CRC32C is not set
1049# CONFIG_CRYPTO_TEST is not set
1050
1051#
1052# Hardware crypto devices
1053#
1054
1055#
1056# Library routines
1057#
1058CONFIG_CRC_CCITT=y
1059# CONFIG_CRC16 is not set
1060CONFIG_CRC32=y
1061# CONFIG_LIBCRC32C is not set
1062CONFIG_ZLIB_INFLATE=y
diff --git a/arch/ppc64/configs/pSeries_defconfig b/arch/ppc64/configs/pSeries_defconfig
deleted file mode 100644
index 9f09dff9e11a..000000000000
--- a/arch/ppc64/configs/pSeries_defconfig
+++ /dev/null
@@ -1,1371 +0,0 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.14-rc4
4# Thu Oct 20 08:32:17 2005
5#
6CONFIG_64BIT=y
7CONFIG_MMU=y
8CONFIG_RWSEM_XCHGADD_ALGORITHM=y
9CONFIG_GENERIC_CALIBRATE_DELAY=y
10CONFIG_GENERIC_ISA_DMA=y
11CONFIG_EARLY_PRINTK=y
12CONFIG_COMPAT=y
13CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
14CONFIG_ARCH_MAY_HAVE_PC_FDC=y
15CONFIG_FORCE_MAX_ZONEORDER=13
16
17#
18# Code maturity level options
19#
20CONFIG_EXPERIMENTAL=y
21CONFIG_CLEAN_COMPILE=y
22CONFIG_LOCK_KERNEL=y
23CONFIG_INIT_ENV_ARG_LIMIT=32
24
25#
26# General setup
27#
28CONFIG_LOCALVERSION=""
29CONFIG_LOCALVERSION_AUTO=y
30CONFIG_SWAP=y
31CONFIG_SYSVIPC=y
32CONFIG_POSIX_MQUEUE=y
33# CONFIG_BSD_PROCESS_ACCT is not set
34CONFIG_SYSCTL=y
35CONFIG_AUDIT=y
36CONFIG_AUDITSYSCALL=y
37CONFIG_HOTPLUG=y
38CONFIG_KOBJECT_UEVENT=y
39CONFIG_IKCONFIG=y
40CONFIG_IKCONFIG_PROC=y
41CONFIG_CPUSETS=y
42CONFIG_INITRAMFS_SOURCE=""
43# CONFIG_EMBEDDED is not set
44CONFIG_KALLSYMS=y
45CONFIG_KALLSYMS_ALL=y
46# CONFIG_KALLSYMS_EXTRA_PASS is not set
47CONFIG_PRINTK=y
48CONFIG_BUG=y
49CONFIG_BASE_FULL=y
50CONFIG_FUTEX=y
51CONFIG_EPOLL=y
52CONFIG_SHMEM=y
53CONFIG_CC_ALIGN_FUNCTIONS=0
54CONFIG_CC_ALIGN_LABELS=0
55CONFIG_CC_ALIGN_LOOPS=0
56CONFIG_CC_ALIGN_JUMPS=0
57# CONFIG_TINY_SHMEM is not set
58CONFIG_BASE_SMALL=0
59
60#
61# Loadable module support
62#
63CONFIG_MODULES=y
64CONFIG_MODULE_UNLOAD=y
65# CONFIG_MODULE_FORCE_UNLOAD is not set
66CONFIG_OBSOLETE_MODPARM=y
67CONFIG_MODVERSIONS=y
68CONFIG_MODULE_SRCVERSION_ALL=y
69CONFIG_KMOD=y
70CONFIG_STOP_MACHINE=y
71CONFIG_SYSVIPC_COMPAT=y
72
73#
74# Platform support
75#
76# CONFIG_PPC_ISERIES is not set
77CONFIG_PPC_MULTIPLATFORM=y
78CONFIG_PPC_PSERIES=y
79# CONFIG_PPC_BPA is not set
80# CONFIG_PPC_PMAC is not set
81# CONFIG_PPC_MAPLE is not set
82CONFIG_PPC=y
83CONFIG_PPC64=y
84CONFIG_PPC_OF=y
85CONFIG_XICS=y
86CONFIG_MPIC=y
87CONFIG_ALTIVEC=y
88CONFIG_PPC_SPLPAR=y
89CONFIG_KEXEC=y
90CONFIG_IBMVIO=y
91# CONFIG_U3_DART is not set
92# CONFIG_BOOTX_TEXT is not set
93# CONFIG_POWER4_ONLY is not set
94CONFIG_IOMMU_VMERGE=y
95CONFIG_SMP=y
96CONFIG_NR_CPUS=128
97CONFIG_ARCH_SELECT_MEMORY_MODEL=y
98CONFIG_ARCH_FLATMEM_ENABLE=y
99CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
100CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y
101CONFIG_ARCH_SPARSEMEM_ENABLE=y
102CONFIG_SELECT_MEMORY_MODEL=y
103# CONFIG_FLATMEM_MANUAL is not set
104CONFIG_DISCONTIGMEM_MANUAL=y
105# CONFIG_SPARSEMEM_MANUAL is not set
106CONFIG_DISCONTIGMEM=y
107CONFIG_FLAT_NODE_MEM_MAP=y
108CONFIG_NEED_MULTIPLE_NODES=y
109# CONFIG_SPARSEMEM_STATIC is not set
110CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y
111CONFIG_NODES_SPAN_OTHER_NODES=y
112CONFIG_NUMA=y
113CONFIG_SCHED_SMT=y
114CONFIG_PREEMPT_NONE=y
115# CONFIG_PREEMPT_VOLUNTARY is not set
116# CONFIG_PREEMPT is not set
117# CONFIG_PREEMPT_BKL is not set
118# CONFIG_HZ_100 is not set
119CONFIG_HZ_250=y
120# CONFIG_HZ_1000 is not set
121CONFIG_HZ=250
122CONFIG_EEH=y
123CONFIG_GENERIC_HARDIRQS=y
124CONFIG_PPC_RTAS=y
125CONFIG_RTAS_PROC=y
126CONFIG_RTAS_FLASH=m
127CONFIG_SCANLOG=m
128CONFIG_LPARCFG=y
129CONFIG_SECCOMP=y
130CONFIG_BINFMT_ELF=y
131# CONFIG_BINFMT_MISC is not set
132CONFIG_HOTPLUG_CPU=y
133CONFIG_PROC_DEVICETREE=y
134# CONFIG_CMDLINE_BOOL is not set
135CONFIG_ISA_DMA_API=y
136
137#
138# Bus Options
139#
140CONFIG_PCI=y
141CONFIG_PCI_DOMAINS=y
142CONFIG_PCI_LEGACY_PROC=y
143# CONFIG_PCI_DEBUG is not set
144
145#
146# PCCARD (PCMCIA/CardBus) support
147#
148# CONFIG_PCCARD is not set
149
150#
151# PCI Hotplug Support
152#
153CONFIG_HOTPLUG_PCI=m
154# CONFIG_HOTPLUG_PCI_FAKE is not set
155# CONFIG_HOTPLUG_PCI_CPCI is not set
156# CONFIG_HOTPLUG_PCI_SHPC is not set
157CONFIG_HOTPLUG_PCI_RPA=m
158CONFIG_HOTPLUG_PCI_RPA_DLPAR=m
159
160#
161# Networking
162#
163CONFIG_NET=y
164
165#
166# Networking options
167#
168CONFIG_PACKET=y
169# CONFIG_PACKET_MMAP is not set
170CONFIG_UNIX=y
171CONFIG_XFRM=y
172CONFIG_XFRM_USER=m
173CONFIG_NET_KEY=m
174CONFIG_INET=y
175CONFIG_IP_MULTICAST=y
176# CONFIG_IP_ADVANCED_ROUTER is not set
177CONFIG_IP_FIB_HASH=y
178# CONFIG_IP_PNP is not set
179CONFIG_NET_IPIP=y
180# CONFIG_NET_IPGRE is not set
181# CONFIG_IP_MROUTE is not set
182# CONFIG_ARPD is not set
183CONFIG_SYN_COOKIES=y
184CONFIG_INET_AH=m
185CONFIG_INET_ESP=m
186CONFIG_INET_IPCOMP=m
187CONFIG_INET_TUNNEL=y
188CONFIG_INET_DIAG=y
189CONFIG_INET_TCP_DIAG=y
190# CONFIG_TCP_CONG_ADVANCED is not set
191CONFIG_TCP_CONG_BIC=y
192
193#
194# IP: Virtual Server Configuration
195#
196# CONFIG_IP_VS is not set
197# CONFIG_IPV6 is not set
198CONFIG_NETFILTER=y
199# CONFIG_NETFILTER_DEBUG is not set
200CONFIG_NETFILTER_NETLINK=y
201CONFIG_NETFILTER_NETLINK_QUEUE=m
202CONFIG_NETFILTER_NETLINK_LOG=m
203
204#
205# IP: Netfilter Configuration
206#
207CONFIG_IP_NF_CONNTRACK=m
208CONFIG_IP_NF_CT_ACCT=y
209CONFIG_IP_NF_CONNTRACK_MARK=y
210CONFIG_IP_NF_CONNTRACK_EVENTS=y
211CONFIG_IP_NF_CONNTRACK_NETLINK=m
212CONFIG_IP_NF_CT_PROTO_SCTP=m
213CONFIG_IP_NF_FTP=m
214CONFIG_IP_NF_IRC=m
215# CONFIG_IP_NF_NETBIOS_NS is not set
216CONFIG_IP_NF_TFTP=m
217CONFIG_IP_NF_AMANDA=m
218# CONFIG_IP_NF_PPTP is not set
219CONFIG_IP_NF_QUEUE=m
220CONFIG_IP_NF_IPTABLES=m
221CONFIG_IP_NF_MATCH_LIMIT=m
222CONFIG_IP_NF_MATCH_IPRANGE=m
223CONFIG_IP_NF_MATCH_MAC=m
224CONFIG_IP_NF_MATCH_PKTTYPE=m
225CONFIG_IP_NF_MATCH_MARK=m
226CONFIG_IP_NF_MATCH_MULTIPORT=m
227CONFIG_IP_NF_MATCH_TOS=m
228CONFIG_IP_NF_MATCH_RECENT=m
229CONFIG_IP_NF_MATCH_ECN=m
230CONFIG_IP_NF_MATCH_DSCP=m
231CONFIG_IP_NF_MATCH_AH_ESP=m
232CONFIG_IP_NF_MATCH_LENGTH=m
233CONFIG_IP_NF_MATCH_TTL=m
234CONFIG_IP_NF_MATCH_TCPMSS=m
235CONFIG_IP_NF_MATCH_HELPER=m
236CONFIG_IP_NF_MATCH_STATE=m
237CONFIG_IP_NF_MATCH_CONNTRACK=m
238CONFIG_IP_NF_MATCH_OWNER=m
239CONFIG_IP_NF_MATCH_ADDRTYPE=m
240CONFIG_IP_NF_MATCH_REALM=m
241CONFIG_IP_NF_MATCH_SCTP=m
242# CONFIG_IP_NF_MATCH_DCCP is not set
243CONFIG_IP_NF_MATCH_COMMENT=m
244CONFIG_IP_NF_MATCH_CONNMARK=m
245CONFIG_IP_NF_MATCH_CONNBYTES=m
246CONFIG_IP_NF_MATCH_HASHLIMIT=m
247CONFIG_IP_NF_MATCH_STRING=m
248CONFIG_IP_NF_FILTER=m
249CONFIG_IP_NF_TARGET_REJECT=m
250CONFIG_IP_NF_TARGET_LOG=m
251CONFIG_IP_NF_TARGET_ULOG=m
252CONFIG_IP_NF_TARGET_TCPMSS=m
253CONFIG_IP_NF_TARGET_NFQUEUE=m
254CONFIG_IP_NF_NAT=m
255CONFIG_IP_NF_NAT_NEEDED=y
256CONFIG_IP_NF_TARGET_MASQUERADE=m
257CONFIG_IP_NF_TARGET_REDIRECT=m
258CONFIG_IP_NF_TARGET_NETMAP=m
259CONFIG_IP_NF_TARGET_SAME=m
260CONFIG_IP_NF_NAT_SNMP_BASIC=m
261CONFIG_IP_NF_NAT_IRC=m
262CONFIG_IP_NF_NAT_FTP=m
263CONFIG_IP_NF_NAT_TFTP=m
264CONFIG_IP_NF_NAT_AMANDA=m
265CONFIG_IP_NF_MANGLE=m
266CONFIG_IP_NF_TARGET_TOS=m
267CONFIG_IP_NF_TARGET_ECN=m
268CONFIG_IP_NF_TARGET_DSCP=m
269CONFIG_IP_NF_TARGET_MARK=m
270CONFIG_IP_NF_TARGET_CLASSIFY=m
271CONFIG_IP_NF_TARGET_TTL=m
272CONFIG_IP_NF_TARGET_CONNMARK=m
273CONFIG_IP_NF_TARGET_CLUSTERIP=m
274CONFIG_IP_NF_RAW=m
275CONFIG_IP_NF_TARGET_NOTRACK=m
276CONFIG_IP_NF_ARPTABLES=m
277CONFIG_IP_NF_ARPFILTER=m
278CONFIG_IP_NF_ARP_MANGLE=m
279
280#
281# DCCP Configuration (EXPERIMENTAL)
282#
283# CONFIG_IP_DCCP is not set
284
285#
286# SCTP Configuration (EXPERIMENTAL)
287#
288# CONFIG_IP_SCTP is not set
289# CONFIG_ATM is not set
290# CONFIG_BRIDGE is not set
291# CONFIG_VLAN_8021Q is not set
292# CONFIG_DECNET is not set
293CONFIG_LLC=y
294# CONFIG_LLC2 is not set
295# CONFIG_IPX is not set
296# CONFIG_ATALK is not set
297# CONFIG_X25 is not set
298# CONFIG_LAPB is not set
299# CONFIG_NET_DIVERT is not set
300# CONFIG_ECONET is not set
301# CONFIG_WAN_ROUTER is not set
302# CONFIG_NET_SCHED is not set
303CONFIG_NET_CLS_ROUTE=y
304
305#
306# Network testing
307#
308# CONFIG_NET_PKTGEN is not set
309# CONFIG_HAMRADIO is not set
310# CONFIG_IRDA is not set
311# CONFIG_BT is not set
312# CONFIG_IEEE80211 is not set
313
314#
315# Device Drivers
316#
317
318#
319# Generic Driver Options
320#
321CONFIG_STANDALONE=y
322CONFIG_PREVENT_FIRMWARE_BUILD=y
323CONFIG_FW_LOADER=y
324# CONFIG_DEBUG_DRIVER is not set
325
326#
327# Connector - unified userspace <-> kernelspace linker
328#
329# CONFIG_CONNECTOR is not set
330
331#
332# Memory Technology Devices (MTD)
333#
334# CONFIG_MTD is not set
335
336#
337# Parallel port support
338#
339CONFIG_PARPORT=m
340CONFIG_PARPORT_PC=m
341# CONFIG_PARPORT_SERIAL is not set
342# CONFIG_PARPORT_PC_FIFO is not set
343# CONFIG_PARPORT_PC_SUPERIO is not set
344# CONFIG_PARPORT_GSC is not set
345# CONFIG_PARPORT_1284 is not set
346
347#
348# Plug and Play support
349#
350
351#
352# Block devices
353#
354CONFIG_BLK_DEV_FD=m
355# CONFIG_PARIDE is not set
356# CONFIG_BLK_CPQ_DA is not set
357# CONFIG_BLK_CPQ_CISS_DA is not set
358# CONFIG_BLK_DEV_DAC960 is not set
359# CONFIG_BLK_DEV_UMEM is not set
360# CONFIG_BLK_DEV_COW_COMMON is not set
361CONFIG_BLK_DEV_LOOP=y
362# CONFIG_BLK_DEV_CRYPTOLOOP is not set
363CONFIG_BLK_DEV_NBD=m
364# CONFIG_BLK_DEV_SX8 is not set
365# CONFIG_BLK_DEV_UB is not set
366CONFIG_BLK_DEV_RAM=y
367CONFIG_BLK_DEV_RAM_COUNT=16
368CONFIG_BLK_DEV_RAM_SIZE=65536
369CONFIG_BLK_DEV_INITRD=y
370# CONFIG_CDROM_PKTCDVD is not set
371
372#
373# IO Schedulers
374#
375CONFIG_IOSCHED_NOOP=y
376CONFIG_IOSCHED_AS=y
377CONFIG_IOSCHED_DEADLINE=y
378CONFIG_IOSCHED_CFQ=y
379# CONFIG_ATA_OVER_ETH is not set
380
381#
382# ATA/ATAPI/MFM/RLL support
383#
384CONFIG_IDE=y
385CONFIG_BLK_DEV_IDE=y
386
387#
388# Please see Documentation/ide.txt for help/info on IDE drives
389#
390# CONFIG_BLK_DEV_IDE_SATA is not set
391CONFIG_BLK_DEV_IDEDISK=y
392# CONFIG_IDEDISK_MULTI_MODE is not set
393CONFIG_BLK_DEV_IDECD=y
394# CONFIG_BLK_DEV_IDETAPE is not set
395# CONFIG_BLK_DEV_IDEFLOPPY is not set
396# CONFIG_BLK_DEV_IDESCSI is not set
397# CONFIG_IDE_TASK_IOCTL is not set
398
399#
400# IDE chipset support/bugfixes
401#
402CONFIG_IDE_GENERIC=y
403CONFIG_BLK_DEV_IDEPCI=y
404CONFIG_IDEPCI_SHARE_IRQ=y
405# CONFIG_BLK_DEV_OFFBOARD is not set
406CONFIG_BLK_DEV_GENERIC=y
407# CONFIG_BLK_DEV_OPTI621 is not set
408CONFIG_BLK_DEV_SL82C105=y
409CONFIG_BLK_DEV_IDEDMA_PCI=y
410# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
411CONFIG_IDEDMA_PCI_AUTO=y
412# CONFIG_IDEDMA_ONLYDISK is not set
413# CONFIG_BLK_DEV_AEC62XX is not set
414# CONFIG_BLK_DEV_ALI15X3 is not set
415CONFIG_BLK_DEV_AMD74XX=y
416# CONFIG_BLK_DEV_CMD64X is not set
417# CONFIG_BLK_DEV_TRIFLEX is not set
418# CONFIG_BLK_DEV_CY82C693 is not set
419# CONFIG_BLK_DEV_CS5520 is not set
420# CONFIG_BLK_DEV_CS5530 is not set
421# CONFIG_BLK_DEV_HPT34X is not set
422# CONFIG_BLK_DEV_HPT366 is not set
423# CONFIG_BLK_DEV_SC1200 is not set
424# CONFIG_BLK_DEV_PIIX is not set
425# CONFIG_BLK_DEV_IT821X is not set
426# CONFIG_BLK_DEV_NS87415 is not set
427# CONFIG_BLK_DEV_PDC202XX_OLD is not set
428# CONFIG_BLK_DEV_PDC202XX_NEW is not set
429# CONFIG_BLK_DEV_SVWKS is not set
430# CONFIG_BLK_DEV_SIIMAGE is not set
431# CONFIG_BLK_DEV_SLC90E66 is not set
432# CONFIG_BLK_DEV_TRM290 is not set
433# CONFIG_BLK_DEV_VIA82CXXX is not set
434# CONFIG_IDE_ARM is not set
435CONFIG_BLK_DEV_IDEDMA=y
436# CONFIG_IDEDMA_IVB is not set
437CONFIG_IDEDMA_AUTO=y
438# CONFIG_BLK_DEV_HD is not set
439
440#
441# SCSI device support
442#
443# CONFIG_RAID_ATTRS is not set
444CONFIG_SCSI=y
445CONFIG_SCSI_PROC_FS=y
446
447#
448# SCSI support type (disk, tape, CD-ROM)
449#
450CONFIG_BLK_DEV_SD=y
451CONFIG_CHR_DEV_ST=y
452# CONFIG_CHR_DEV_OSST is not set
453CONFIG_BLK_DEV_SR=y
454CONFIG_BLK_DEV_SR_VENDOR=y
455CONFIG_CHR_DEV_SG=y
456# CONFIG_CHR_DEV_SCH is not set
457
458#
459# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
460#
461CONFIG_SCSI_MULTI_LUN=y
462CONFIG_SCSI_CONSTANTS=y
463# CONFIG_SCSI_LOGGING is not set
464
465#
466# SCSI Transport Attributes
467#
468CONFIG_SCSI_SPI_ATTRS=y
469CONFIG_SCSI_FC_ATTRS=y
470CONFIG_SCSI_ISCSI_ATTRS=m
471# CONFIG_SCSI_SAS_ATTRS is not set
472
473#
474# SCSI low-level drivers
475#
476# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
477# CONFIG_SCSI_3W_9XXX is not set
478# CONFIG_SCSI_ACARD is not set
479# CONFIG_SCSI_AACRAID is not set
480# CONFIG_SCSI_AIC7XXX is not set
481# CONFIG_SCSI_AIC7XXX_OLD is not set
482# CONFIG_SCSI_AIC79XX is not set
483# CONFIG_MEGARAID_NEWGEN is not set
484# CONFIG_MEGARAID_LEGACY is not set
485# CONFIG_MEGARAID_SAS is not set
486# CONFIG_SCSI_SATA is not set
487# CONFIG_SCSI_BUSLOGIC is not set
488# CONFIG_SCSI_DMX3191D is not set
489# CONFIG_SCSI_EATA is not set
490# CONFIG_SCSI_FUTURE_DOMAIN is not set
491# CONFIG_SCSI_GDTH is not set
492# CONFIG_SCSI_IPS is not set
493CONFIG_SCSI_IBMVSCSI=y
494# CONFIG_SCSI_INITIO is not set
495# CONFIG_SCSI_INIA100 is not set
496# CONFIG_SCSI_PPA is not set
497# CONFIG_SCSI_IMM is not set
498CONFIG_SCSI_SYM53C8XX_2=y
499CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0
500CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
501CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
502# CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set
503CONFIG_SCSI_IPR=y
504CONFIG_SCSI_IPR_TRACE=y
505CONFIG_SCSI_IPR_DUMP=y
506# CONFIG_SCSI_QLOGIC_FC is not set
507# CONFIG_SCSI_QLOGIC_1280 is not set
508CONFIG_SCSI_QLA2XXX=y
509CONFIG_SCSI_QLA21XX=m
510CONFIG_SCSI_QLA22XX=m
511CONFIG_SCSI_QLA2300=m
512CONFIG_SCSI_QLA2322=m
513CONFIG_SCSI_QLA6312=m
514CONFIG_SCSI_QLA24XX=m
515CONFIG_SCSI_LPFC=m
516# CONFIG_SCSI_DC395x is not set
517# CONFIG_SCSI_DC390T is not set
518# CONFIG_SCSI_DEBUG is not set
519
520#
521# Multi-device support (RAID and LVM)
522#
523CONFIG_MD=y
524CONFIG_BLK_DEV_MD=y
525CONFIG_MD_LINEAR=y
526CONFIG_MD_RAID0=y
527CONFIG_MD_RAID1=y
528CONFIG_MD_RAID10=m
529CONFIG_MD_RAID5=y
530CONFIG_MD_RAID6=m
531CONFIG_MD_MULTIPATH=m
532CONFIG_MD_FAULTY=m
533CONFIG_BLK_DEV_DM=y
534CONFIG_DM_CRYPT=m
535CONFIG_DM_SNAPSHOT=m
536CONFIG_DM_MIRROR=m
537CONFIG_DM_ZERO=m
538CONFIG_DM_MULTIPATH=m
539CONFIG_DM_MULTIPATH_EMC=m
540
541#
542# Fusion MPT device support
543#
544# CONFIG_FUSION is not set
545# CONFIG_FUSION_SPI is not set
546# CONFIG_FUSION_FC is not set
547# CONFIG_FUSION_SAS is not set
548
549#
550# IEEE 1394 (FireWire) support
551#
552# CONFIG_IEEE1394 is not set
553
554#
555# I2O device support
556#
557# CONFIG_I2O is not set
558
559#
560# Macintosh device drivers
561#
562
563#
564# Network device support
565#
566CONFIG_NETDEVICES=y
567CONFIG_DUMMY=m
568CONFIG_BONDING=m
569# CONFIG_EQUALIZER is not set
570CONFIG_TUN=m
571
572#
573# ARCnet devices
574#
575# CONFIG_ARCNET is not set
576
577#
578# PHY device support
579#
580# CONFIG_PHYLIB is not set
581
582#
583# Ethernet (10 or 100Mbit)
584#
585CONFIG_NET_ETHERNET=y
586CONFIG_MII=y
587# CONFIG_HAPPYMEAL is not set
588# CONFIG_SUNGEM is not set
589# CONFIG_CASSINI is not set
590CONFIG_NET_VENDOR_3COM=y
591CONFIG_VORTEX=y
592# CONFIG_TYPHOON is not set
593
594#
595# Tulip family network device support
596#
597# CONFIG_NET_TULIP is not set
598# CONFIG_HP100 is not set
599CONFIG_IBMVETH=y
600CONFIG_NET_PCI=y
601CONFIG_PCNET32=y
602# CONFIG_AMD8111_ETH is not set
603# CONFIG_ADAPTEC_STARFIRE is not set
604# CONFIG_B44 is not set
605# CONFIG_FORCEDETH is not set
606# CONFIG_DGRS is not set
607# CONFIG_EEPRO100 is not set
608CONFIG_E100=y
609# CONFIG_FEALNX is not set
610# CONFIG_NATSEMI is not set
611# CONFIG_NE2K_PCI is not set
612# CONFIG_8139CP is not set
613# CONFIG_8139TOO is not set
614# CONFIG_SIS900 is not set
615# CONFIG_EPIC100 is not set
616# CONFIG_SUNDANCE is not set
617# CONFIG_VIA_RHINE is not set
618# CONFIG_NET_POCKET is not set
619
620#
621# Ethernet (1000 Mbit)
622#
623CONFIG_ACENIC=y
624CONFIG_ACENIC_OMIT_TIGON_I=y
625# CONFIG_DL2K is not set
626CONFIG_E1000=y
627# CONFIG_E1000_NAPI is not set
628# CONFIG_NS83820 is not set
629# CONFIG_HAMACHI is not set
630# CONFIG_YELLOWFIN is not set
631# CONFIG_R8169 is not set
632# CONFIG_SIS190 is not set
633# CONFIG_SKGE is not set
634# CONFIG_SK98LIN is not set
635# CONFIG_VIA_VELOCITY is not set
636CONFIG_TIGON3=y
637# CONFIG_BNX2 is not set
638# CONFIG_MV643XX_ETH is not set
639
640#
641# Ethernet (10000 Mbit)
642#
643# CONFIG_CHELSIO_T1 is not set
644CONFIG_IXGB=m
645# CONFIG_IXGB_NAPI is not set
646CONFIG_S2IO=m
647# CONFIG_S2IO_NAPI is not set
648# CONFIG_2BUFF_MODE is not set
649
650#
651# Token Ring devices
652#
653CONFIG_TR=y
654CONFIG_IBMOL=y
655# CONFIG_3C359 is not set
656# CONFIG_TMS380TR is not set
657
658#
659# Wireless LAN (non-hamradio)
660#
661# CONFIG_NET_RADIO is not set
662
663#
664# Wan interfaces
665#
666# CONFIG_WAN is not set
667# CONFIG_FDDI is not set
668# CONFIG_HIPPI is not set
669# CONFIG_PLIP is not set
670CONFIG_PPP=m
671# CONFIG_PPP_MULTILINK is not set
672# CONFIG_PPP_FILTER is not set
673CONFIG_PPP_ASYNC=m
674CONFIG_PPP_SYNC_TTY=m
675CONFIG_PPP_DEFLATE=m
676CONFIG_PPP_BSDCOMP=m
677CONFIG_PPPOE=m
678# CONFIG_SLIP is not set
679# CONFIG_NET_FC is not set
680# CONFIG_SHAPER is not set
681CONFIG_NETCONSOLE=y
682CONFIG_NETPOLL=y
683CONFIG_NETPOLL_RX=y
684CONFIG_NETPOLL_TRAP=y
685CONFIG_NET_POLL_CONTROLLER=y
686
687#
688# ISDN subsystem
689#
690# CONFIG_ISDN is not set
691
692#
693# Telephony Support
694#
695# CONFIG_PHONE is not set
696
697#
698# Input device support
699#
700CONFIG_INPUT=y
701
702#
703# Userland interfaces
704#
705CONFIG_INPUT_MOUSEDEV=y
706# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
707CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
708CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
709# CONFIG_INPUT_JOYDEV is not set
710# CONFIG_INPUT_TSDEV is not set
711# CONFIG_INPUT_EVDEV is not set
712# CONFIG_INPUT_EVBUG is not set
713
714#
715# Input Device Drivers
716#
717CONFIG_INPUT_KEYBOARD=y
718CONFIG_KEYBOARD_ATKBD=y
719# CONFIG_KEYBOARD_SUNKBD is not set
720# CONFIG_KEYBOARD_LKKBD is not set
721# CONFIG_KEYBOARD_XTKBD is not set
722# CONFIG_KEYBOARD_NEWTON is not set
723CONFIG_INPUT_MOUSE=y
724CONFIG_MOUSE_PS2=y
725# CONFIG_MOUSE_SERIAL is not set
726# CONFIG_MOUSE_VSXXXAA is not set
727# CONFIG_INPUT_JOYSTICK is not set
728# CONFIG_INPUT_TOUCHSCREEN is not set
729CONFIG_INPUT_MISC=y
730CONFIG_INPUT_PCSPKR=m
731# CONFIG_INPUT_UINPUT is not set
732
733#
734# Hardware I/O ports
735#
736CONFIG_SERIO=y
737CONFIG_SERIO_I8042=y
738# CONFIG_SERIO_SERPORT is not set
739# CONFIG_SERIO_PARKBD is not set
740# CONFIG_SERIO_PCIPS2 is not set
741CONFIG_SERIO_LIBPS2=y
742# CONFIG_SERIO_RAW is not set
743# CONFIG_GAMEPORT is not set
744
745#
746# Character devices
747#
748CONFIG_VT=y
749CONFIG_VT_CONSOLE=y
750CONFIG_HW_CONSOLE=y
751# CONFIG_SERIAL_NONSTANDARD is not set
752
753#
754# Serial drivers
755#
756CONFIG_SERIAL_8250=y
757CONFIG_SERIAL_8250_CONSOLE=y
758CONFIG_SERIAL_8250_NR_UARTS=4
759# CONFIG_SERIAL_8250_EXTENDED is not set
760
761#
762# Non-8250 serial port support
763#
764CONFIG_SERIAL_CORE=y
765CONFIG_SERIAL_CORE_CONSOLE=y
766CONFIG_SERIAL_ICOM=m
767# CONFIG_SERIAL_JSM is not set
768CONFIG_UNIX98_PTYS=y
769CONFIG_LEGACY_PTYS=y
770CONFIG_LEGACY_PTY_COUNT=256
771# CONFIG_PRINTER is not set
772# CONFIG_PPDEV is not set
773# CONFIG_TIPAR is not set
774CONFIG_HVC_CONSOLE=y
775CONFIG_HVCS=m
776
777#
778# IPMI
779#
780# CONFIG_IPMI_HANDLER is not set
781
782#
783# Watchdog Cards
784#
785# CONFIG_WATCHDOG is not set
786# CONFIG_RTC is not set
787# CONFIG_DTLK is not set
788# CONFIG_R3964 is not set
789# CONFIG_APPLICOM is not set
790
791#
792# Ftape, the floppy tape device driver
793#
794# CONFIG_AGP is not set
795# CONFIG_DRM is not set
796CONFIG_RAW_DRIVER=y
797CONFIG_MAX_RAW_DEVS=1024
798# CONFIG_HANGCHECK_TIMER is not set
799
800#
801# TPM devices
802#
803# CONFIG_TCG_TPM is not set
804
805#
806# I2C support
807#
808CONFIG_I2C=y
809# CONFIG_I2C_CHARDEV is not set
810
811#
812# I2C Algorithms
813#
814CONFIG_I2C_ALGOBIT=y
815# CONFIG_I2C_ALGOPCF is not set
816# CONFIG_I2C_ALGOPCA is not set
817
818#
819# I2C Hardware Bus support
820#
821# CONFIG_I2C_ALI1535 is not set
822# CONFIG_I2C_ALI1563 is not set
823# CONFIG_I2C_ALI15X3 is not set
824# CONFIG_I2C_AMD756 is not set
825# CONFIG_I2C_AMD8111 is not set
826# CONFIG_I2C_I801 is not set
827# CONFIG_I2C_I810 is not set
828# CONFIG_I2C_PIIX4 is not set
829# CONFIG_I2C_NFORCE2 is not set
830# CONFIG_I2C_PARPORT is not set
831# CONFIG_I2C_PARPORT_LIGHT is not set
832# CONFIG_I2C_PROSAVAGE is not set
833# CONFIG_I2C_SAVAGE4 is not set
834# CONFIG_SCx200_ACB is not set
835# CONFIG_I2C_SIS5595 is not set
836# CONFIG_I2C_SIS630 is not set
837# CONFIG_I2C_SIS96X is not set
838# CONFIG_I2C_STUB is not set
839# CONFIG_I2C_VIA is not set
840# CONFIG_I2C_VIAPRO is not set
841# CONFIG_I2C_VOODOO3 is not set
842# CONFIG_I2C_PCA_ISA is not set
843
844#
845# Miscellaneous I2C Chip support
846#
847# CONFIG_SENSORS_DS1337 is not set
848# CONFIG_SENSORS_DS1374 is not set
849# CONFIG_SENSORS_EEPROM is not set
850# CONFIG_SENSORS_PCF8574 is not set
851# CONFIG_SENSORS_PCA9539 is not set
852# CONFIG_SENSORS_PCF8591 is not set
853# CONFIG_SENSORS_RTC8564 is not set
854# CONFIG_SENSORS_MAX6875 is not set
855# CONFIG_I2C_DEBUG_CORE is not set
856# CONFIG_I2C_DEBUG_ALGO is not set
857# CONFIG_I2C_DEBUG_BUS is not set
858# CONFIG_I2C_DEBUG_CHIP is not set
859
860#
861# Dallas's 1-wire bus
862#
863# CONFIG_W1 is not set
864
865#
866# Hardware Monitoring support
867#
868# CONFIG_HWMON is not set
869# CONFIG_HWMON_VID is not set
870
871#
872# Misc devices
873#
874
875#
876# Multimedia Capabilities Port drivers
877#
878
879#
880# Multimedia devices
881#
882# CONFIG_VIDEO_DEV is not set
883
884#
885# Digital Video Broadcasting Devices
886#
887# CONFIG_DVB is not set
888
889#
890# Graphics support
891#
892CONFIG_FB=y
893CONFIG_FB_CFB_FILLRECT=y
894CONFIG_FB_CFB_COPYAREA=y
895CONFIG_FB_CFB_IMAGEBLIT=y
896CONFIG_FB_SOFT_CURSOR=y
897CONFIG_FB_MACMODES=y
898CONFIG_FB_MODE_HELPERS=y
899CONFIG_FB_TILEBLITTING=y
900# CONFIG_FB_CIRRUS is not set
901# CONFIG_FB_PM2 is not set
902# CONFIG_FB_CYBER2000 is not set
903CONFIG_FB_OF=y
904# CONFIG_FB_CT65550 is not set
905# CONFIG_FB_ASILIANT is not set
906# CONFIG_FB_IMSTT is not set
907# CONFIG_FB_VGA16 is not set
908# CONFIG_FB_NVIDIA is not set
909# CONFIG_FB_RIVA is not set
910CONFIG_FB_MATROX=y
911CONFIG_FB_MATROX_MILLENIUM=y
912CONFIG_FB_MATROX_MYSTIQUE=y
913CONFIG_FB_MATROX_G=y
914# CONFIG_FB_MATROX_I2C is not set
915CONFIG_FB_MATROX_MULTIHEAD=y
916# CONFIG_FB_RADEON_OLD is not set
917CONFIG_FB_RADEON=y
918CONFIG_FB_RADEON_I2C=y
919# CONFIG_FB_RADEON_DEBUG is not set
920# CONFIG_FB_ATY128 is not set
921# CONFIG_FB_ATY is not set
922# CONFIG_FB_SAVAGE is not set
923# CONFIG_FB_SIS is not set
924# CONFIG_FB_NEOMAGIC is not set
925# CONFIG_FB_KYRO is not set
926# CONFIG_FB_3DFX is not set
927# CONFIG_FB_VOODOO1 is not set
928# CONFIG_FB_CYBLA is not set
929# CONFIG_FB_TRIDENT is not set
930# CONFIG_FB_S1D13XXX is not set
931# CONFIG_FB_VIRTUAL is not set
932
933#
934# Console display driver support
935#
936# CONFIG_VGA_CONSOLE is not set
937CONFIG_DUMMY_CONSOLE=y
938CONFIG_FRAMEBUFFER_CONSOLE=y
939# CONFIG_FONTS is not set
940CONFIG_FONT_8x8=y
941CONFIG_FONT_8x16=y
942
943#
944# Logo configuration
945#
946CONFIG_LOGO=y
947CONFIG_LOGO_LINUX_MONO=y
948CONFIG_LOGO_LINUX_VGA16=y
949CONFIG_LOGO_LINUX_CLUT224=y
950CONFIG_BACKLIGHT_LCD_SUPPORT=y
951CONFIG_BACKLIGHT_CLASS_DEVICE=m
952CONFIG_BACKLIGHT_DEVICE=y
953CONFIG_LCD_CLASS_DEVICE=m
954CONFIG_LCD_DEVICE=y
955
956#
957# Sound
958#
959# CONFIG_SOUND is not set
960
961#
962# USB support
963#
964CONFIG_USB_ARCH_HAS_HCD=y
965CONFIG_USB_ARCH_HAS_OHCI=y
966CONFIG_USB=y
967# CONFIG_USB_DEBUG is not set
968
969#
970# Miscellaneous USB options
971#
972CONFIG_USB_DEVICEFS=y
973# CONFIG_USB_BANDWIDTH is not set
974# CONFIG_USB_DYNAMIC_MINORS is not set
975# CONFIG_USB_OTG is not set
976
977#
978# USB Host Controller Drivers
979#
980CONFIG_USB_EHCI_HCD=y
981# CONFIG_USB_EHCI_SPLIT_ISO is not set
982# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
983# CONFIG_USB_ISP116X_HCD is not set
984CONFIG_USB_OHCI_HCD=y
985# CONFIG_USB_OHCI_BIG_ENDIAN is not set
986CONFIG_USB_OHCI_LITTLE_ENDIAN=y
987# CONFIG_USB_UHCI_HCD is not set
988# CONFIG_USB_SL811_HCD is not set
989
990#
991# USB Device Class drivers
992#
993# CONFIG_USB_BLUETOOTH_TTY is not set
994# CONFIG_USB_ACM is not set
995# CONFIG_USB_PRINTER is not set
996
997#
998# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
999#
1000CONFIG_USB_STORAGE=y
1001# CONFIG_USB_STORAGE_DEBUG is not set
1002# CONFIG_USB_STORAGE_DATAFAB is not set
1003# CONFIG_USB_STORAGE_FREECOM is not set
1004# CONFIG_USB_STORAGE_ISD200 is not set
1005# CONFIG_USB_STORAGE_DPCM is not set
1006# CONFIG_USB_STORAGE_USBAT is not set
1007# CONFIG_USB_STORAGE_SDDR09 is not set
1008# CONFIG_USB_STORAGE_SDDR55 is not set
1009# CONFIG_USB_STORAGE_JUMPSHOT is not set
1010
1011#
1012# USB Input Devices
1013#
1014CONFIG_USB_HID=y
1015CONFIG_USB_HIDINPUT=y
1016# CONFIG_HID_FF is not set
1017CONFIG_USB_HIDDEV=y
1018# CONFIG_USB_AIPTEK is not set
1019# CONFIG_USB_WACOM is not set
1020# CONFIG_USB_ACECAD is not set
1021# CONFIG_USB_KBTAB is not set
1022# CONFIG_USB_POWERMATE is not set
1023# CONFIG_USB_MTOUCH is not set
1024# CONFIG_USB_ITMTOUCH is not set
1025# CONFIG_USB_EGALAX is not set
1026# CONFIG_USB_YEALINK is not set
1027# CONFIG_USB_XPAD is not set
1028# CONFIG_USB_ATI_REMOTE is not set
1029# CONFIG_USB_KEYSPAN_REMOTE is not set
1030# CONFIG_USB_APPLETOUCH is not set
1031
1032#
1033# USB Imaging devices
1034#
1035# CONFIG_USB_MDC800 is not set
1036# CONFIG_USB_MICROTEK is not set
1037
1038#
1039# USB Multimedia devices
1040#
1041# CONFIG_USB_DABUSB is not set
1042
1043#
1044# Video4Linux support is needed for USB Multimedia device support
1045#
1046
1047#
1048# USB Network Adapters
1049#
1050# CONFIG_USB_CATC is not set
1051# CONFIG_USB_KAWETH is not set
1052# CONFIG_USB_PEGASUS is not set
1053# CONFIG_USB_RTL8150 is not set
1054# CONFIG_USB_USBNET is not set
1055CONFIG_USB_MON=y
1056
1057#
1058# USB port drivers
1059#
1060# CONFIG_USB_USS720 is not set
1061
1062#
1063# USB Serial Converter support
1064#
1065# CONFIG_USB_SERIAL is not set
1066
1067#
1068# USB Miscellaneous drivers
1069#
1070# CONFIG_USB_EMI62 is not set
1071# CONFIG_USB_EMI26 is not set
1072# CONFIG_USB_AUERSWALD is not set
1073# CONFIG_USB_RIO500 is not set
1074# CONFIG_USB_LEGOTOWER is not set
1075# CONFIG_USB_LCD is not set
1076# CONFIG_USB_LED is not set
1077# CONFIG_USB_CYTHERM is not set
1078# CONFIG_USB_PHIDGETKIT is not set
1079# CONFIG_USB_PHIDGETSERVO is not set
1080# CONFIG_USB_IDMOUSE is not set
1081# CONFIG_USB_SISUSBVGA is not set
1082# CONFIG_USB_LD is not set
1083# CONFIG_USB_TEST is not set
1084
1085#
1086# USB DSL modem support
1087#
1088
1089#
1090# USB Gadget Support
1091#
1092# CONFIG_USB_GADGET is not set
1093
1094#
1095# MMC/SD Card support
1096#
1097# CONFIG_MMC is not set
1098
1099#
1100# InfiniBand support
1101#
1102CONFIG_INFINIBAND=m
1103# CONFIG_INFINIBAND_USER_MAD is not set
1104# CONFIG_INFINIBAND_USER_ACCESS is not set
1105CONFIG_INFINIBAND_MTHCA=m
1106# CONFIG_INFINIBAND_MTHCA_DEBUG is not set
1107CONFIG_INFINIBAND_IPOIB=m
1108# CONFIG_INFINIBAND_IPOIB_DEBUG is not set
1109
1110#
1111# SN Devices
1112#
1113
1114#
1115# File systems
1116#
1117CONFIG_EXT2_FS=y
1118CONFIG_EXT2_FS_XATTR=y
1119CONFIG_EXT2_FS_POSIX_ACL=y
1120CONFIG_EXT2_FS_SECURITY=y
1121CONFIG_EXT2_FS_XIP=y
1122CONFIG_FS_XIP=y
1123CONFIG_EXT3_FS=y
1124CONFIG_EXT3_FS_XATTR=y
1125CONFIG_EXT3_FS_POSIX_ACL=y
1126CONFIG_EXT3_FS_SECURITY=y
1127CONFIG_JBD=y
1128# CONFIG_JBD_DEBUG is not set
1129CONFIG_FS_MBCACHE=y
1130CONFIG_REISERFS_FS=y
1131# CONFIG_REISERFS_CHECK is not set
1132# CONFIG_REISERFS_PROC_INFO is not set
1133CONFIG_REISERFS_FS_XATTR=y
1134CONFIG_REISERFS_FS_POSIX_ACL=y
1135CONFIG_REISERFS_FS_SECURITY=y
1136CONFIG_JFS_FS=m
1137CONFIG_JFS_POSIX_ACL=y
1138CONFIG_JFS_SECURITY=y
1139# CONFIG_JFS_DEBUG is not set
1140# CONFIG_JFS_STATISTICS is not set
1141CONFIG_FS_POSIX_ACL=y
1142CONFIG_XFS_FS=m
1143CONFIG_XFS_EXPORT=y
1144# CONFIG_XFS_QUOTA is not set
1145CONFIG_XFS_SECURITY=y
1146CONFIG_XFS_POSIX_ACL=y
1147# CONFIG_XFS_RT is not set
1148# CONFIG_MINIX_FS is not set
1149# CONFIG_ROMFS_FS is not set
1150CONFIG_INOTIFY=y
1151# CONFIG_QUOTA is not set
1152CONFIG_DNOTIFY=y
1153CONFIG_AUTOFS_FS=m
1154# CONFIG_AUTOFS4_FS is not set
1155# CONFIG_FUSE_FS is not set
1156
1157#
1158# CD-ROM/DVD Filesystems
1159#
1160CONFIG_ISO9660_FS=y
1161CONFIG_JOLIET=y
1162CONFIG_ZISOFS=y
1163CONFIG_ZISOFS_FS=y
1164CONFIG_UDF_FS=m
1165CONFIG_UDF_NLS=y
1166
1167#
1168# DOS/FAT/NT Filesystems
1169#
1170CONFIG_FAT_FS=y
1171CONFIG_MSDOS_FS=y
1172CONFIG_VFAT_FS=y
1173CONFIG_FAT_DEFAULT_CODEPAGE=437
1174CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1175# CONFIG_NTFS_FS is not set
1176
1177#
1178# Pseudo filesystems
1179#
1180CONFIG_PROC_FS=y
1181CONFIG_PROC_KCORE=y
1182CONFIG_SYSFS=y
1183CONFIG_TMPFS=y
1184CONFIG_HUGETLBFS=y
1185CONFIG_HUGETLB_PAGE=y
1186CONFIG_RAMFS=y
1187# CONFIG_RELAYFS_FS is not set
1188
1189#
1190# Miscellaneous filesystems
1191#
1192# CONFIG_ADFS_FS is not set
1193# CONFIG_AFFS_FS is not set
1194# CONFIG_HFS_FS is not set
1195# CONFIG_HFSPLUS_FS is not set
1196# CONFIG_BEFS_FS is not set
1197# CONFIG_BFS_FS is not set
1198# CONFIG_EFS_FS is not set
1199CONFIG_CRAMFS=y
1200# CONFIG_VXFS_FS is not set
1201# CONFIG_HPFS_FS is not set
1202# CONFIG_QNX4FS_FS is not set
1203# CONFIG_SYSV_FS is not set
1204# CONFIG_UFS_FS is not set
1205
1206#
1207# Network File Systems
1208#
1209CONFIG_NFS_FS=y
1210CONFIG_NFS_V3=y
1211CONFIG_NFS_V3_ACL=y
1212CONFIG_NFS_V4=y
1213# CONFIG_NFS_DIRECTIO is not set
1214CONFIG_NFSD=y
1215CONFIG_NFSD_V2_ACL=y
1216CONFIG_NFSD_V3=y
1217CONFIG_NFSD_V3_ACL=y
1218CONFIG_NFSD_V4=y
1219CONFIG_NFSD_TCP=y
1220CONFIG_LOCKD=y
1221CONFIG_LOCKD_V4=y
1222CONFIG_EXPORTFS=y
1223CONFIG_NFS_ACL_SUPPORT=y
1224CONFIG_NFS_COMMON=y
1225CONFIG_SUNRPC=y
1226CONFIG_SUNRPC_GSS=y
1227CONFIG_RPCSEC_GSS_KRB5=y
1228CONFIG_RPCSEC_GSS_SPKM3=m
1229# CONFIG_SMB_FS is not set
1230CONFIG_CIFS=m
1231# CONFIG_CIFS_STATS is not set
1232CONFIG_CIFS_XATTR=y
1233CONFIG_CIFS_POSIX=y
1234# CONFIG_CIFS_EXPERIMENTAL is not set
1235# CONFIG_NCP_FS is not set
1236# CONFIG_CODA_FS is not set
1237# CONFIG_AFS_FS is not set
1238# CONFIG_9P_FS is not set
1239
1240#
1241# Partition Types
1242#
1243# CONFIG_PARTITION_ADVANCED is not set
1244CONFIG_MSDOS_PARTITION=y
1245
1246#
1247# Native Language Support
1248#
1249CONFIG_NLS=y
1250CONFIG_NLS_DEFAULT="iso8859-1"
1251CONFIG_NLS_CODEPAGE_437=y
1252# CONFIG_NLS_CODEPAGE_737 is not set
1253# CONFIG_NLS_CODEPAGE_775 is not set
1254# CONFIG_NLS_CODEPAGE_850 is not set
1255# CONFIG_NLS_CODEPAGE_852 is not set
1256# CONFIG_NLS_CODEPAGE_855 is not set
1257# CONFIG_NLS_CODEPAGE_857 is not set
1258# CONFIG_NLS_CODEPAGE_860 is not set
1259# CONFIG_NLS_CODEPAGE_861 is not set
1260# CONFIG_NLS_CODEPAGE_862 is not set
1261# CONFIG_NLS_CODEPAGE_863 is not set
1262# CONFIG_NLS_CODEPAGE_864 is not set
1263# CONFIG_NLS_CODEPAGE_865 is not set
1264# CONFIG_NLS_CODEPAGE_866 is not set
1265# CONFIG_NLS_CODEPAGE_869 is not set
1266# CONFIG_NLS_CODEPAGE_936 is not set
1267# CONFIG_NLS_CODEPAGE_950 is not set
1268# CONFIG_NLS_CODEPAGE_932 is not set
1269# CONFIG_NLS_CODEPAGE_949 is not set
1270# CONFIG_NLS_CODEPAGE_874 is not set
1271# CONFIG_NLS_ISO8859_8 is not set
1272# CONFIG_NLS_CODEPAGE_1250 is not set
1273# CONFIG_NLS_CODEPAGE_1251 is not set
1274CONFIG_NLS_ASCII=y
1275CONFIG_NLS_ISO8859_1=y
1276# CONFIG_NLS_ISO8859_2 is not set
1277# CONFIG_NLS_ISO8859_3 is not set
1278# CONFIG_NLS_ISO8859_4 is not set
1279# CONFIG_NLS_ISO8859_5 is not set
1280# CONFIG_NLS_ISO8859_6 is not set
1281# CONFIG_NLS_ISO8859_7 is not set
1282# CONFIG_NLS_ISO8859_9 is not set
1283# CONFIG_NLS_ISO8859_13 is not set
1284# CONFIG_NLS_ISO8859_14 is not set
1285# CONFIG_NLS_ISO8859_15 is not set
1286# CONFIG_NLS_KOI8_R is not set
1287# CONFIG_NLS_KOI8_U is not set
1288# CONFIG_NLS_UTF8 is not set
1289
1290#
1291# Profiling support
1292#
1293CONFIG_PROFILING=y
1294CONFIG_OPROFILE=y
1295
1296#
1297# Kernel hacking
1298#
1299# CONFIG_PRINTK_TIME is not set
1300CONFIG_DEBUG_KERNEL=y
1301CONFIG_MAGIC_SYSRQ=y
1302CONFIG_LOG_BUF_SHIFT=17
1303CONFIG_DETECT_SOFTLOCKUP=y
1304# CONFIG_SCHEDSTATS is not set
1305# CONFIG_DEBUG_SLAB is not set
1306# CONFIG_DEBUG_SPINLOCK is not set
1307# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1308# CONFIG_DEBUG_KOBJECT is not set
1309# CONFIG_DEBUG_INFO is not set
1310CONFIG_DEBUG_FS=y
1311CONFIG_DEBUG_STACKOVERFLOW=y
1312# CONFIG_KPROBES is not set
1313CONFIG_DEBUG_STACK_USAGE=y
1314CONFIG_DEBUGGER=y
1315CONFIG_XMON=y
1316CONFIG_XMON_DEFAULT=y
1317# CONFIG_PPCDBG is not set
1318CONFIG_IRQSTACKS=y
1319
1320#
1321# Security options
1322#
1323# CONFIG_KEYS is not set
1324# CONFIG_SECURITY is not set
1325
1326#
1327# Cryptographic options
1328#
1329CONFIG_CRYPTO=y
1330CONFIG_CRYPTO_HMAC=y
1331CONFIG_CRYPTO_NULL=m
1332CONFIG_CRYPTO_MD4=m
1333CONFIG_CRYPTO_MD5=y
1334CONFIG_CRYPTO_SHA1=m
1335CONFIG_CRYPTO_SHA256=m
1336CONFIG_CRYPTO_SHA512=m
1337CONFIG_CRYPTO_WP512=m
1338CONFIG_CRYPTO_TGR192=m
1339CONFIG_CRYPTO_DES=y
1340CONFIG_CRYPTO_BLOWFISH=m
1341CONFIG_CRYPTO_TWOFISH=m
1342CONFIG_CRYPTO_SERPENT=m
1343CONFIG_CRYPTO_AES=m
1344CONFIG_CRYPTO_CAST5=m
1345CONFIG_CRYPTO_CAST6=m
1346CONFIG_CRYPTO_TEA=m
1347CONFIG_CRYPTO_ARC4=m
1348CONFIG_CRYPTO_KHAZAD=m
1349CONFIG_CRYPTO_ANUBIS=m
1350CONFIG_CRYPTO_DEFLATE=m
1351CONFIG_CRYPTO_MICHAEL_MIC=m
1352CONFIG_CRYPTO_CRC32C=m
1353CONFIG_CRYPTO_TEST=m
1354
1355#
1356# Hardware crypto devices
1357#
1358
1359#
1360# Library routines
1361#
1362CONFIG_CRC_CCITT=m
1363# CONFIG_CRC16 is not set
1364CONFIG_CRC32=y
1365CONFIG_LIBCRC32C=m
1366CONFIG_ZLIB_INFLATE=y
1367CONFIG_ZLIB_DEFLATE=m
1368CONFIG_TEXTSEARCH=y
1369CONFIG_TEXTSEARCH_KMP=m
1370CONFIG_TEXTSEARCH_BM=m
1371CONFIG_TEXTSEARCH_FSM=m
diff --git a/arch/ppc64/kernel/Makefile b/arch/ppc64/kernel/Makefile
deleted file mode 100644
index e876c213f5ce..000000000000
--- a/arch/ppc64/kernel/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
1#
2# Makefile for the linux ppc64 kernel.
3#
4
5obj-y += idle.o align.o
6
7obj-$(CONFIG_PPC_MULTIPLATFORM) += nvram.o
diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
index 573b6a97bb1f..70d8a6ec0920 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
@@ -514,8 +514,6 @@ static int acpi_processor_set_power_policy(struct acpi_processor *pr)
514 514
515static int acpi_processor_get_power_info_fadt(struct acpi_processor *pr) 515static int acpi_processor_get_power_info_fadt(struct acpi_processor *pr)
516{ 516{
517 int i;
518
519 ACPI_FUNCTION_TRACE("acpi_processor_get_power_info_fadt"); 517 ACPI_FUNCTION_TRACE("acpi_processor_get_power_info_fadt");
520 518
521 if (!pr) 519 if (!pr)
@@ -524,8 +522,7 @@ static int acpi_processor_get_power_info_fadt(struct acpi_processor *pr)
524 if (!pr->pblk) 522 if (!pr->pblk)
525 return_VALUE(-ENODEV); 523 return_VALUE(-ENODEV);
526 524
527 for (i = 0; i < ACPI_PROCESSOR_MAX_POWER; i++) 525 memset(pr->power.states, 0, sizeof(pr->power.states));
528 memset(pr->power.states, 0, sizeof(struct acpi_processor_cx));
529 526
530 /* if info is obtained from pblk/fadt, type equals state */ 527 /* if info is obtained from pblk/fadt, type equals state */
531 pr->power.states[ACPI_STATE_C1].type = ACPI_STATE_C1; 528 pr->power.states[ACPI_STATE_C1].type = ACPI_STATE_C1;
@@ -555,13 +552,9 @@ static int acpi_processor_get_power_info_fadt(struct acpi_processor *pr)
555 552
556static int acpi_processor_get_power_info_default_c1(struct acpi_processor *pr) 553static int acpi_processor_get_power_info_default_c1(struct acpi_processor *pr)
557{ 554{
558 int i;
559
560 ACPI_FUNCTION_TRACE("acpi_processor_get_power_info_default_c1"); 555 ACPI_FUNCTION_TRACE("acpi_processor_get_power_info_default_c1");
561 556
562 for (i = 0; i < ACPI_PROCESSOR_MAX_POWER; i++) 557 memset(pr->power.states, 0, sizeof(pr->power.states));
563 memset(&(pr->power.states[i]), 0,
564 sizeof(struct acpi_processor_cx));
565 558
566 /* if info is obtained from pblk/fadt, type equals state */ 559 /* if info is obtained from pblk/fadt, type equals state */
567 pr->power.states[ACPI_STATE_C1].type = ACPI_STATE_C1; 560 pr->power.states[ACPI_STATE_C1].type = ACPI_STATE_C1;
@@ -873,7 +866,8 @@ static int acpi_processor_get_power_info(struct acpi_processor *pr)
873 for (i = 1; i < ACPI_PROCESSOR_MAX_POWER; i++) { 866 for (i = 1; i < ACPI_PROCESSOR_MAX_POWER; i++) {
874 if (pr->power.states[i].valid) { 867 if (pr->power.states[i].valid) {
875 pr->power.count = i; 868 pr->power.count = i;
876 pr->flags.power = 1; 869 if (pr->power.states[i].type >= ACPI_STATE_C2)
870 pr->flags.power = 1;
877 } 871 }
878 } 872 }
879 873
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
index ea89dca3dbb5..01a1f6badb53 100644
--- a/drivers/char/ipmi/ipmi_si_intf.c
+++ b/drivers/char/ipmi/ipmi_si_intf.c
@@ -2203,7 +2203,7 @@ static void setup_xaction_handlers(struct smi_info *smi_info)
2203 2203
2204static inline void wait_for_timer_and_thread(struct smi_info *smi_info) 2204static inline void wait_for_timer_and_thread(struct smi_info *smi_info)
2205{ 2205{
2206 if (smi_info->thread != ERR_PTR(-ENOMEM)) 2206 if (smi_info->thread != NULL && smi_info->thread != ERR_PTR(-ENOMEM))
2207 kthread_stop(smi_info->thread); 2207 kthread_stop(smi_info->thread);
2208 del_timer_sync(&smi_info->si_timer); 2208 del_timer_sync(&smi_info->si_timer);
2209} 2209}
diff --git a/drivers/char/tpm/Kconfig b/drivers/char/tpm/Kconfig
index b58adfe3ed19..a6873bf89ffa 100644
--- a/drivers/char/tpm/Kconfig
+++ b/drivers/char/tpm/Kconfig
@@ -6,7 +6,7 @@ menu "TPM devices"
6 6
7config TCG_TPM 7config TCG_TPM
8 tristate "TPM Hardware Support" 8 tristate "TPM Hardware Support"
9 depends on EXPERIMENTAL && PCI 9 depends on EXPERIMENTAL
10 ---help--- 10 ---help---
11 If you have a TPM security chip in your system, which 11 If you have a TPM security chip in your system, which
12 implements the Trusted Computing Group's specification, 12 implements the Trusted Computing Group's specification,
diff --git a/drivers/char/tpm/tpm.c b/drivers/char/tpm/tpm.c
index 0b283d246730..a9be0e8eaea5 100644
--- a/drivers/char/tpm/tpm.c
+++ b/drivers/char/tpm/tpm.c
@@ -377,6 +377,7 @@ int tpm_release(struct inode *inode, struct file *file)
377 file->private_data = NULL; 377 file->private_data = NULL;
378 chip->num_opens--; 378 chip->num_opens--;
379 del_singleshot_timer_sync(&chip->user_read_timer); 379 del_singleshot_timer_sync(&chip->user_read_timer);
380 flush_scheduled_work();
380 atomic_set(&chip->data_pending, 0); 381 atomic_set(&chip->data_pending, 0);
381 put_device(chip->dev); 382 put_device(chip->dev);
382 kfree(chip->data_buffer); 383 kfree(chip->data_buffer);
@@ -428,6 +429,7 @@ ssize_t tpm_read(struct file * file, char __user *buf,
428 int ret_size; 429 int ret_size;
429 430
430 del_singleshot_timer_sync(&chip->user_read_timer); 431 del_singleshot_timer_sync(&chip->user_read_timer);
432 flush_scheduled_work();
431 ret_size = atomic_read(&chip->data_pending); 433 ret_size = atomic_read(&chip->data_pending);
432 atomic_set(&chip->data_pending, 0); 434 atomic_set(&chip->data_pending, 0);
433 if (ret_size > 0) { /* relay data */ 435 if (ret_size > 0) { /* relay data */
diff --git a/drivers/char/tpm/tpm_atmel.c b/drivers/char/tpm/tpm_atmel.c
index deb4b5c80914..ff3654964fe3 100644
--- a/drivers/char/tpm/tpm_atmel.c
+++ b/drivers/char/tpm/tpm_atmel.c
@@ -47,13 +47,12 @@ static int tpm_atml_recv(struct tpm_chip *chip, u8 *buf, size_t count)
47 return -EIO; 47 return -EIO;
48 48
49 for (i = 0; i < 6; i++) { 49 for (i = 0; i < 6; i++) {
50 status = atmel_getb(chip, 1); 50 status = ioread8(chip->vendor->iobase + 1);
51 if ((status & ATML_STATUS_DATA_AVAIL) == 0) { 51 if ((status & ATML_STATUS_DATA_AVAIL) == 0) {
52 dev_err(chip->dev, 52 dev_err(chip->dev, "error reading header\n");
53 "error reading header\n");
54 return -EIO; 53 return -EIO;
55 } 54 }
56 *buf++ = atmel_getb(chip, 0); 55 *buf++ = ioread8(chip->vendor->iobase);
57 } 56 }
58 57
59 /* size of the data received */ 58 /* size of the data received */
@@ -64,10 +63,9 @@ static int tpm_atml_recv(struct tpm_chip *chip, u8 *buf, size_t count)
64 dev_err(chip->dev, 63 dev_err(chip->dev,
65 "Recv size(%d) less than available space\n", size); 64 "Recv size(%d) less than available space\n", size);
66 for (; i < size; i++) { /* clear the waiting data anyway */ 65 for (; i < size; i++) { /* clear the waiting data anyway */
67 status = atmel_getb(chip, 1); 66 status = ioread8(chip->vendor->iobase + 1);
68 if ((status & ATML_STATUS_DATA_AVAIL) == 0) { 67 if ((status & ATML_STATUS_DATA_AVAIL) == 0) {
69 dev_err(chip->dev, 68 dev_err(chip->dev, "error reading data\n");
70 "error reading data\n");
71 return -EIO; 69 return -EIO;
72 } 70 }
73 } 71 }
@@ -76,17 +74,17 @@ static int tpm_atml_recv(struct tpm_chip *chip, u8 *buf, size_t count)
76 74
77 /* read all the data available */ 75 /* read all the data available */
78 for (; i < size; i++) { 76 for (; i < size; i++) {
79 status = atmel_getb(chip, 1); 77 status = ioread8(chip->vendor->iobase + 1);
80 if ((status & ATML_STATUS_DATA_AVAIL) == 0) { 78 if ((status & ATML_STATUS_DATA_AVAIL) == 0) {
81 dev_err(chip->dev, 79 dev_err(chip->dev, "error reading data\n");
82 "error reading data\n");
83 return -EIO; 80 return -EIO;
84 } 81 }
85 *buf++ = atmel_getb(chip, 0); 82 *buf++ = ioread8(chip->vendor->iobase);
86 } 83 }
87 84
88 /* make sure data available is gone */ 85 /* make sure data available is gone */
89 status = atmel_getb(chip, 1); 86 status = ioread8(chip->vendor->iobase + 1);
87
90 if (status & ATML_STATUS_DATA_AVAIL) { 88 if (status & ATML_STATUS_DATA_AVAIL) {
91 dev_err(chip->dev, "data available is stuck\n"); 89 dev_err(chip->dev, "data available is stuck\n");
92 return -EIO; 90 return -EIO;
@@ -102,7 +100,7 @@ static int tpm_atml_send(struct tpm_chip *chip, u8 *buf, size_t count)
102 dev_dbg(chip->dev, "tpm_atml_send:\n"); 100 dev_dbg(chip->dev, "tpm_atml_send:\n");
103 for (i = 0; i < count; i++) { 101 for (i = 0; i < count; i++) {
104 dev_dbg(chip->dev, "%d 0x%x(%d)\n", i, buf[i], buf[i]); 102 dev_dbg(chip->dev, "%d 0x%x(%d)\n", i, buf[i], buf[i]);
105 atmel_putb(buf[i], chip, 0); 103 iowrite8(buf[i], chip->vendor->iobase);
106 } 104 }
107 105
108 return count; 106 return count;
@@ -110,12 +108,12 @@ static int tpm_atml_send(struct tpm_chip *chip, u8 *buf, size_t count)
110 108
111static void tpm_atml_cancel(struct tpm_chip *chip) 109static void tpm_atml_cancel(struct tpm_chip *chip)
112{ 110{
113 atmel_putb(ATML_STATUS_ABORT, chip, 1); 111 iowrite8(ATML_STATUS_ABORT, chip->vendor->iobase + 1);
114} 112}
115 113
116static u8 tpm_atml_status(struct tpm_chip *chip) 114static u8 tpm_atml_status(struct tpm_chip *chip)
117{ 115{
118 return atmel_getb(chip, 1); 116 return ioread8(chip->vendor->iobase + 1);
119} 117}
120 118
121static struct file_operations atmel_ops = { 119static struct file_operations atmel_ops = {
@@ -162,7 +160,8 @@ static void atml_plat_remove(void)
162 160
163 if (chip) { 161 if (chip) {
164 if (chip->vendor->have_region) 162 if (chip->vendor->have_region)
165 atmel_release_region(chip->vendor->base, chip->vendor->region_size); 163 atmel_release_region(chip->vendor->base,
164 chip->vendor->region_size);
166 atmel_put_base_addr(chip->vendor); 165 atmel_put_base_addr(chip->vendor);
167 tpm_remove_hardware(chip->dev); 166 tpm_remove_hardware(chip->dev);
168 platform_device_unregister(pdev); 167 platform_device_unregister(pdev);
@@ -183,14 +182,19 @@ static int __init init_atmel(void)
183 182
184 driver_register(&atml_drv); 183 driver_register(&atml_drv);
185 184
186 if (atmel_get_base_addr(&tpm_atmel) != 0) { 185 if ((tpm_atmel.iobase = atmel_get_base_addr(&tpm_atmel)) == NULL) {
187 rc = -ENODEV; 186 rc = -ENODEV;
188 goto err_unreg_drv; 187 goto err_unreg_drv;
189 } 188 }
190 189
191 tpm_atmel.have_region = (atmel_request_region( tpm_atmel.base, tpm_atmel.region_size, "tpm_atmel0") == NULL) ? 0 : 1; 190 tpm_atmel.have_region =
191 (atmel_request_region
192 (tpm_atmel.base, tpm_atmel.region_size,
193 "tpm_atmel0") == NULL) ? 0 : 1;
192 194
193 if (IS_ERR(pdev = platform_device_register_simple("tpm_atmel", -1, NULL, 0 ))) { 195 if (IS_ERR
196 (pdev =
197 platform_device_register_simple("tpm_atmel", -1, NULL, 0))) {
194 rc = PTR_ERR(pdev); 198 rc = PTR_ERR(pdev);
195 goto err_rel_reg; 199 goto err_rel_reg;
196 } 200 }
@@ -202,9 +206,10 @@ static int __init init_atmel(void)
202err_unreg_dev: 206err_unreg_dev:
203 platform_device_unregister(pdev); 207 platform_device_unregister(pdev);
204err_rel_reg: 208err_rel_reg:
205 if (tpm_atmel.have_region)
206 atmel_release_region(tpm_atmel.base, tpm_atmel.region_size);
207 atmel_put_base_addr(&tpm_atmel); 209 atmel_put_base_addr(&tpm_atmel);
210 if (tpm_atmel.have_region)
211 atmel_release_region(tpm_atmel.base,
212 tpm_atmel.region_size);
208err_unreg_drv: 213err_unreg_drv:
209 driver_unregister(&atml_drv); 214 driver_unregister(&atml_drv);
210 return rc; 215 return rc;
diff --git a/drivers/char/tpm/tpm_atmel.h b/drivers/char/tpm/tpm_atmel.h
index 3c5b9a8d1c49..d3478aaadd77 100644
--- a/drivers/char/tpm/tpm_atmel.h
+++ b/drivers/char/tpm/tpm_atmel.h
@@ -27,12 +27,14 @@
27#define atmel_putb(val, chip, offset) writeb(val, chip->vendor->iobase + offset) 27#define atmel_putb(val, chip, offset) writeb(val, chip->vendor->iobase + offset)
28#define atmel_request_region request_mem_region 28#define atmel_request_region request_mem_region
29#define atmel_release_region release_mem_region 29#define atmel_release_region release_mem_region
30static inline void atmel_put_base_addr(struct tpm_vendor_specific *vendor) 30
31static inline void atmel_put_base_addr(struct tpm_vendor_specific
32 *vendor)
31{ 33{
32 iounmap(vendor->iobase); 34 iounmap(vendor->iobase);
33} 35}
34 36
35static int atmel_get_base_addr(struct tpm_vendor_specific *vendor) 37static void __iomem * atmel_get_base_addr(struct tpm_vendor_specific *vendor)
36{ 38{
37 struct device_node *dn; 39 struct device_node *dn;
38 unsigned long address, size; 40 unsigned long address, size;
@@ -44,11 +46,11 @@ static int atmel_get_base_addr(struct tpm_vendor_specific *vendor)
44 dn = of_find_node_by_name(NULL, "tpm"); 46 dn = of_find_node_by_name(NULL, "tpm");
45 47
46 if (!dn) 48 if (!dn)
47 return 1; 49 return NULL;
48 50
49 if (!device_is_compatible(dn, "AT97SC3201")) { 51 if (!device_is_compatible(dn, "AT97SC3201")) {
50 of_node_put(dn); 52 of_node_put(dn);
51 return 1; 53 return NULL;
52 } 54 }
53 55
54 reg = (unsigned int *) get_property(dn, "reg", &reglen); 56 reg = (unsigned int *) get_property(dn, "reg", &reglen);
@@ -71,8 +73,7 @@ static int atmel_get_base_addr(struct tpm_vendor_specific *vendor)
71 73
72 vendor->base = address; 74 vendor->base = address;
73 vendor->region_size = size; 75 vendor->region_size = size;
74 vendor->iobase = ioremap(address, size); 76 return ioremap(vendor->base, vendor->region_size);
75 return 0;
76} 77}
77#else 78#else
78#define atmel_getb(chip, offset) inb(chip->vendor->base + offset) 79#define atmel_getb(chip, offset) inb(chip->vendor->base + offset)
@@ -105,18 +106,19 @@ static int atmel_verify_tpm11(void)
105 return 0; 106 return 0;
106} 107}
107 108
108static inline void atmel_put_base_addr(struct tpm_vendor_specific *vendor) 109static inline void atmel_put_base_addr(struct tpm_vendor_specific
110 *vendor)
109{ 111{
110} 112}
111 113
112/* Determine where to talk to device */ 114/* Determine where to talk to device */
113static unsigned long atmel_get_base_addr(struct tpm_vendor_specific 115static void __iomem * atmel_get_base_addr(struct tpm_vendor_specific
114 *vendor) 116 *vendor)
115{ 117{
116 int lo, hi; 118 int lo, hi;
117 119
118 if (atmel_verify_tpm11() != 0) 120 if (atmel_verify_tpm11() != 0)
119 return 1; 121 return NULL;
120 122
121 lo = tpm_read_index(TPM_ADDR, TPM_ATMEL_BASE_ADDR_LO); 123 lo = tpm_read_index(TPM_ADDR, TPM_ATMEL_BASE_ADDR_LO);
122 hi = tpm_read_index(TPM_ADDR, TPM_ATMEL_BASE_ADDR_HI); 124 hi = tpm_read_index(TPM_ADDR, TPM_ATMEL_BASE_ADDR_HI);
@@ -124,6 +126,6 @@ static unsigned long atmel_get_base_addr(struct tpm_vendor_specific
124 vendor->base = (hi << 8) | lo; 126 vendor->base = (hi << 8) | lo;
125 vendor->region_size = 2; 127 vendor->region_size = 2;
126 128
127 return 0; 129 return ioport_map(vendor->base, vendor->region_size);
128} 130}
129#endif 131#endif
diff --git a/drivers/md/bitmap.c b/drivers/md/bitmap.c
index 51315302a85e..252d55df9642 100644
--- a/drivers/md/bitmap.c
+++ b/drivers/md/bitmap.c
@@ -326,9 +326,9 @@ static int write_page(struct bitmap *bitmap, struct page *page, int wait)
326 } 326 }
327 } 327 }
328 328
329 ret = page->mapping->a_ops->prepare_write(NULL, page, 0, PAGE_SIZE); 329 ret = page->mapping->a_ops->prepare_write(bitmap->file, page, 0, PAGE_SIZE);
330 if (!ret) 330 if (!ret)
331 ret = page->mapping->a_ops->commit_write(NULL, page, 0, 331 ret = page->mapping->a_ops->commit_write(bitmap->file, page, 0,
332 PAGE_SIZE); 332 PAGE_SIZE);
333 if (ret) { 333 if (ret) {
334 unlock_page(page); 334 unlock_page(page);
diff --git a/drivers/md/md.c b/drivers/md/md.c
index f3fed662f32e..78c7418478d6 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -3846,11 +3846,20 @@ static int is_mddev_idle(mddev_t *mddev)
3846 curr_events = disk_stat_read(disk, sectors[0]) + 3846 curr_events = disk_stat_read(disk, sectors[0]) +
3847 disk_stat_read(disk, sectors[1]) - 3847 disk_stat_read(disk, sectors[1]) -
3848 atomic_read(&disk->sync_io); 3848 atomic_read(&disk->sync_io);
3849 /* Allow some slack between valud of curr_events and last_events, 3849 /* The difference between curr_events and last_events
3850 * as there are some uninteresting races. 3850 * will be affected by any new non-sync IO (making
3851 * curr_events bigger) and any difference in the amount of
3852 * in-flight syncio (making current_events bigger or smaller)
3853 * The amount in-flight is currently limited to
3854 * 32*64K in raid1/10 and 256*PAGE_SIZE in raid5/6
3855 * which is at most 4096 sectors.
3856 * These numbers are fairly fragile and should be made
3857 * more robust, probably by enforcing the
3858 * 'window size' that md_do_sync sort-of uses.
3859 *
3851 * Note: the following is an unsigned comparison. 3860 * Note: the following is an unsigned comparison.
3852 */ 3861 */
3853 if ((curr_events - rdev->last_events + 32) > 64) { 3862 if ((curr_events - rdev->last_events + 4096) > 8192) {
3854 rdev->last_events = curr_events; 3863 rdev->last_events = curr_events;
3855 idle = 0; 3864 idle = 0;
3856 } 3865 }
@@ -4109,7 +4118,7 @@ static void md_do_sync(mddev_t *mddev)
4109 if (currspeed > sysctl_speed_limit_min) { 4118 if (currspeed > sysctl_speed_limit_min) {
4110 if ((currspeed > sysctl_speed_limit_max) || 4119 if ((currspeed > sysctl_speed_limit_max) ||
4111 !is_mddev_idle(mddev)) { 4120 !is_mddev_idle(mddev)) {
4112 msleep(250); 4121 msleep(500);
4113 goto repeat; 4122 goto repeat;
4114 } 4123 }
4115 } 4124 }
diff --git a/drivers/net/au1000_eth.c b/drivers/net/au1000_eth.c
index 332e9953c55c..cd0b1dccfb61 100644
--- a/drivers/net/au1000_eth.c
+++ b/drivers/net/au1000_eth.c
@@ -32,6 +32,7 @@
32 * 32 *
33 */ 33 */
34 34
35#include <linux/config.h>
35#include <linux/module.h> 36#include <linux/module.h>
36#include <linux/kernel.h> 37#include <linux/kernel.h>
37#include <linux/sched.h> 38#include <linux/sched.h>
diff --git a/drivers/net/e100.c b/drivers/net/e100.c
index 7a6aeae2c9fa..22cd04556707 100644
--- a/drivers/net/e100.c
+++ b/drivers/net/e100.c
@@ -156,7 +156,7 @@
156 156
157#define DRV_NAME "e100" 157#define DRV_NAME "e100"
158#define DRV_EXT "-NAPI" 158#define DRV_EXT "-NAPI"
159#define DRV_VERSION "3.4.14-k2"DRV_EXT 159#define DRV_VERSION "3.4.14-k4"DRV_EXT
160#define DRV_DESCRIPTION "Intel(R) PRO/100 Network Driver" 160#define DRV_DESCRIPTION "Intel(R) PRO/100 Network Driver"
161#define DRV_COPYRIGHT "Copyright(c) 1999-2005 Intel Corporation" 161#define DRV_COPYRIGHT "Copyright(c) 1999-2005 Intel Corporation"
162#define PFX DRV_NAME ": " 162#define PFX DRV_NAME ": "
@@ -903,8 +903,8 @@ static void mdio_write(struct net_device *netdev, int addr, int reg, int data)
903 903
904static void e100_get_defaults(struct nic *nic) 904static void e100_get_defaults(struct nic *nic)
905{ 905{
906 struct param_range rfds = { .min = 16, .max = 256, .count = 64 }; 906 struct param_range rfds = { .min = 16, .max = 256, .count = 256 };
907 struct param_range cbs = { .min = 64, .max = 256, .count = 64 }; 907 struct param_range cbs = { .min = 64, .max = 256, .count = 128 };
908 908
909 pci_read_config_byte(nic->pdev, PCI_REVISION_ID, &nic->rev_id); 909 pci_read_config_byte(nic->pdev, PCI_REVISION_ID, &nic->rev_id);
910 /* MAC type is encoded as rev ID; exception: ICH is treated as 82559 */ 910 /* MAC type is encoded as rev ID; exception: ICH is treated as 82559 */
@@ -1007,25 +1007,264 @@ static void e100_configure(struct nic *nic, struct cb *cb, struct sk_buff *skb)
1007 c[16], c[17], c[18], c[19], c[20], c[21], c[22], c[23]); 1007 c[16], c[17], c[18], c[19], c[20], c[21], c[22], c[23]);
1008} 1008}
1009 1009
1010/********************************************************/
1011/* Micro code for 8086:1229 Rev 8 */
1012/********************************************************/
1013
1014/* Parameter values for the D101M B-step */
1015#define D101M_CPUSAVER_TIMER_DWORD 78
1016#define D101M_CPUSAVER_BUNDLE_DWORD 65
1017#define D101M_CPUSAVER_MIN_SIZE_DWORD 126
1018
1019#define D101M_B_RCVBUNDLE_UCODE \
1020{\
10210x00550215, 0xFFFF0437, 0xFFFFFFFF, 0x06A70789, 0xFFFFFFFF, 0x0558FFFF, \
10220x000C0001, 0x00101312, 0x000C0008, 0x00380216, \
10230x0010009C, 0x00204056, 0x002380CC, 0x00380056, \
10240x0010009C, 0x00244C0B, 0x00000800, 0x00124818, \
10250x00380438, 0x00000000, 0x00140000, 0x00380555, \
10260x00308000, 0x00100662, 0x00100561, 0x000E0408, \
10270x00134861, 0x000C0002, 0x00103093, 0x00308000, \
10280x00100624, 0x00100561, 0x000E0408, 0x00100861, \
10290x000C007E, 0x00222C21, 0x000C0002, 0x00103093, \
10300x00380C7A, 0x00080000, 0x00103090, 0x00380C7A, \
10310x00000000, 0x00000000, 0x00000000, 0x00000000, \
10320x0010009C, 0x00244C2D, 0x00010004, 0x00041000, \
10330x003A0437, 0x00044010, 0x0038078A, 0x00000000, \
10340x00100099, 0x00206C7A, 0x0010009C, 0x00244C48, \
10350x00130824, 0x000C0001, 0x00101213, 0x00260C75, \
10360x00041000, 0x00010004, 0x00130826, 0x000C0006, \
10370x002206A8, 0x0013C926, 0x00101313, 0x003806A8, \
10380x00000000, 0x00000000, 0x00000000, 0x00000000, \
10390x00000000, 0x00000000, 0x00000000, 0x00000000, \
10400x00080600, 0x00101B10, 0x00050004, 0x00100826, \
10410x00101210, 0x00380C34, 0x00000000, 0x00000000, \
10420x0021155B, 0x00100099, 0x00206559, 0x0010009C, \
10430x00244559, 0x00130836, 0x000C0000, 0x00220C62, \
10440x000C0001, 0x00101B13, 0x00229C0E, 0x00210C0E, \
10450x00226C0E, 0x00216C0E, 0x0022FC0E, 0x00215C0E, \
10460x00214C0E, 0x00380555, 0x00010004, 0x00041000, \
10470x00278C67, 0x00040800, 0x00018100, 0x003A0437, \
10480x00130826, 0x000C0001, 0x00220559, 0x00101313, \
10490x00380559, 0x00000000, 0x00000000, 0x00000000, \
10500x00000000, 0x00000000, 0x00000000, 0x00000000, \
10510x00000000, 0x00130831, 0x0010090B, 0x00124813, \
10520x000CFF80, 0x002606AB, 0x00041000, 0x00010004, \
10530x003806A8, 0x00000000, 0x00000000, 0x00000000, \
1054}
1055
1056/********************************************************/
1057/* Micro code for 8086:1229 Rev 9 */
1058/********************************************************/
1059
1060/* Parameter values for the D101S */
1061#define D101S_CPUSAVER_TIMER_DWORD 78
1062#define D101S_CPUSAVER_BUNDLE_DWORD 67
1063#define D101S_CPUSAVER_MIN_SIZE_DWORD 128
1064
1065#define D101S_RCVBUNDLE_UCODE \
1066{\
10670x00550242, 0xFFFF047E, 0xFFFFFFFF, 0x06FF0818, 0xFFFFFFFF, 0x05A6FFFF, \
10680x000C0001, 0x00101312, 0x000C0008, 0x00380243, \
10690x0010009C, 0x00204056, 0x002380D0, 0x00380056, \
10700x0010009C, 0x00244F8B, 0x00000800, 0x00124818, \
10710x0038047F, 0x00000000, 0x00140000, 0x003805A3, \
10720x00308000, 0x00100610, 0x00100561, 0x000E0408, \
10730x00134861, 0x000C0002, 0x00103093, 0x00308000, \
10740x00100624, 0x00100561, 0x000E0408, 0x00100861, \
10750x000C007E, 0x00222FA1, 0x000C0002, 0x00103093, \
10760x00380F90, 0x00080000, 0x00103090, 0x00380F90, \
10770x00000000, 0x00000000, 0x00000000, 0x00000000, \
10780x0010009C, 0x00244FAD, 0x00010004, 0x00041000, \
10790x003A047E, 0x00044010, 0x00380819, 0x00000000, \
10800x00100099, 0x00206FFD, 0x0010009A, 0x0020AFFD, \
10810x0010009C, 0x00244FC8, 0x00130824, 0x000C0001, \
10820x00101213, 0x00260FF7, 0x00041000, 0x00010004, \
10830x00130826, 0x000C0006, 0x00220700, 0x0013C926, \
10840x00101313, 0x00380700, 0x00000000, 0x00000000, \
10850x00000000, 0x00000000, 0x00000000, 0x00000000, \
10860x00080600, 0x00101B10, 0x00050004, 0x00100826, \
10870x00101210, 0x00380FB6, 0x00000000, 0x00000000, \
10880x002115A9, 0x00100099, 0x002065A7, 0x0010009A, \
10890x0020A5A7, 0x0010009C, 0x002445A7, 0x00130836, \
10900x000C0000, 0x00220FE4, 0x000C0001, 0x00101B13, \
10910x00229F8E, 0x00210F8E, 0x00226F8E, 0x00216F8E, \
10920x0022FF8E, 0x00215F8E, 0x00214F8E, 0x003805A3, \
10930x00010004, 0x00041000, 0x00278FE9, 0x00040800, \
10940x00018100, 0x003A047E, 0x00130826, 0x000C0001, \
10950x002205A7, 0x00101313, 0x003805A7, 0x00000000, \
10960x00000000, 0x00000000, 0x00000000, 0x00000000, \
10970x00000000, 0x00000000, 0x00000000, 0x00130831, \
10980x0010090B, 0x00124813, 0x000CFF80, 0x00260703, \
10990x00041000, 0x00010004, 0x00380700 \
1100}
1101
1102/********************************************************/
1103/* Micro code for the 8086:1229 Rev F/10 */
1104/********************************************************/
1105
1106/* Parameter values for the D102 E-step */
1107#define D102_E_CPUSAVER_TIMER_DWORD 42
1108#define D102_E_CPUSAVER_BUNDLE_DWORD 54
1109#define D102_E_CPUSAVER_MIN_SIZE_DWORD 46
1110
1111#define D102_E_RCVBUNDLE_UCODE \
1112{\
11130x007D028F, 0x0E4204F9, 0x14ED0C85, 0x14FA14E9, 0x0EF70E36, 0x1FFF1FFF, \
11140x00E014B9, 0x00000000, 0x00000000, 0x00000000, \
11150x00E014BD, 0x00000000, 0x00000000, 0x00000000, \
11160x00E014D5, 0x00000000, 0x00000000, 0x00000000, \
11170x00000000, 0x00000000, 0x00000000, 0x00000000, \
11180x00E014C1, 0x00000000, 0x00000000, 0x00000000, \
11190x00000000, 0x00000000, 0x00000000, 0x00000000, \
11200x00000000, 0x00000000, 0x00000000, 0x00000000, \
11210x00000000, 0x00000000, 0x00000000, 0x00000000, \
11220x00E014C8, 0x00000000, 0x00000000, 0x00000000, \
11230x00200600, 0x00E014EE, 0x00000000, 0x00000000, \
11240x0030FF80, 0x00940E46, 0x00038200, 0x00102000, \
11250x00E00E43, 0x00000000, 0x00000000, 0x00000000, \
11260x00300006, 0x00E014FB, 0x00000000, 0x00000000, \
11270x00000000, 0x00000000, 0x00000000, 0x00000000, \
11280x00000000, 0x00000000, 0x00000000, 0x00000000, \
11290x00000000, 0x00000000, 0x00000000, 0x00000000, \
11300x00906E41, 0x00800E3C, 0x00E00E39, 0x00000000, \
11310x00906EFD, 0x00900EFD, 0x00E00EF8, 0x00000000, \
11320x00000000, 0x00000000, 0x00000000, 0x00000000, \
11330x00000000, 0x00000000, 0x00000000, 0x00000000, \
11340x00000000, 0x00000000, 0x00000000, 0x00000000, \
11350x00000000, 0x00000000, 0x00000000, 0x00000000, \
11360x00000000, 0x00000000, 0x00000000, 0x00000000, \
11370x00000000, 0x00000000, 0x00000000, 0x00000000, \
11380x00000000, 0x00000000, 0x00000000, 0x00000000, \
11390x00000000, 0x00000000, 0x00000000, 0x00000000, \
11400x00000000, 0x00000000, 0x00000000, 0x00000000, \
11410x00000000, 0x00000000, 0x00000000, 0x00000000, \
11420x00000000, 0x00000000, 0x00000000, 0x00000000, \
11430x00000000, 0x00000000, 0x00000000, 0x00000000, \
11440x00000000, 0x00000000, 0x00000000, 0x00000000, \
11450x00000000, 0x00000000, 0x00000000, 0x00000000, \
1146}
1147
1010static void e100_load_ucode(struct nic *nic, struct cb *cb, struct sk_buff *skb) 1148static void e100_load_ucode(struct nic *nic, struct cb *cb, struct sk_buff *skb)
1011{ 1149{
1012 int i; 1150/* *INDENT-OFF* */
1013 static const u32 ucode[UCODE_SIZE] = { 1151 static struct {
1014 /* NFS packets are misinterpreted as TCO packets and 1152 u32 ucode[UCODE_SIZE + 1];
1015 * incorrectly routed to the BMC over SMBus. This 1153 u8 mac;
1016 * microcode patch checks the fragmented IP bit in the 1154 u8 timer_dword;
1017 * NFS/UDP header to distinguish between NFS and TCO. */ 1155 u8 bundle_dword;
1018 0x0EF70E36, 0x1FFF1FFF, 0x1FFF1FFF, 0x1FFF1FFF, 0x1FFF1FFF, 1156 u8 min_size_dword;
1019 0x1FFF1FFF, 0x00906E41, 0x00800E3C, 0x00E00E39, 0x00000000, 1157 } ucode_opts[] = {
1020 0x00906EFD, 0x00900EFD, 0x00E00EF8, 1158 { D101M_B_RCVBUNDLE_UCODE,
1021 }; 1159 mac_82559_D101M,
1022 1160 D101M_CPUSAVER_TIMER_DWORD,
1023 if(nic->mac == mac_82551_F || nic->mac == mac_82551_10) { 1161 D101M_CPUSAVER_BUNDLE_DWORD,
1024 for(i = 0; i < UCODE_SIZE; i++) 1162 D101M_CPUSAVER_MIN_SIZE_DWORD },
1163 { D101S_RCVBUNDLE_UCODE,
1164 mac_82559_D101S,
1165 D101S_CPUSAVER_TIMER_DWORD,
1166 D101S_CPUSAVER_BUNDLE_DWORD,
1167 D101S_CPUSAVER_MIN_SIZE_DWORD },
1168 { D102_E_RCVBUNDLE_UCODE,
1169 mac_82551_F,
1170 D102_E_CPUSAVER_TIMER_DWORD,
1171 D102_E_CPUSAVER_BUNDLE_DWORD,
1172 D102_E_CPUSAVER_MIN_SIZE_DWORD },
1173 { D102_E_RCVBUNDLE_UCODE,
1174 mac_82551_10,
1175 D102_E_CPUSAVER_TIMER_DWORD,
1176 D102_E_CPUSAVER_BUNDLE_DWORD,
1177 D102_E_CPUSAVER_MIN_SIZE_DWORD },
1178 { {0}, 0, 0, 0, 0}
1179 }, *opts;
1180/* *INDENT-ON* */
1181
1182/*************************************************************************
1183* CPUSaver parameters
1184*
1185* All CPUSaver parameters are 16-bit literals that are part of a
1186* "move immediate value" instruction. By changing the value of
1187* the literal in the instruction before the code is loaded, the
1188* driver can change the algorithm.
1189*
1190* INTDELAY - This loads the dead-man timer with its inital value.
1191* When this timer expires the interrupt is asserted, and the
1192* timer is reset each time a new packet is received. (see
1193* BUNDLEMAX below to set the limit on number of chained packets)
1194* The current default is 0x600 or 1536. Experiments show that
1195* the value should probably stay within the 0x200 - 0x1000.
1196*
1197* BUNDLEMAX -
1198* This sets the maximum number of frames that will be bundled. In
1199* some situations, such as the TCP windowing algorithm, it may be
1200* better to limit the growth of the bundle size than let it go as
1201* high as it can, because that could cause too much added latency.
1202* The default is six, because this is the number of packets in the
1203* default TCP window size. A value of 1 would make CPUSaver indicate
1204* an interrupt for every frame received. If you do not want to put
1205* a limit on the bundle size, set this value to xFFFF.
1206*
1207* BUNDLESMALL -
1208* This contains a bit-mask describing the minimum size frame that
1209* will be bundled. The default masks the lower 7 bits, which means
1210* that any frame less than 128 bytes in length will not be bundled,
1211* but will instead immediately generate an interrupt. This does
1212* not affect the current bundle in any way. Any frame that is 128
1213* bytes or large will be bundled normally. This feature is meant
1214* to provide immediate indication of ACK frames in a TCP environment.
1215* Customers were seeing poor performance when a machine with CPUSaver
1216* enabled was sending but not receiving. The delay introduced when
1217* the ACKs were received was enough to reduce total throughput, because
1218* the sender would sit idle until the ACK was finally seen.
1219*
1220* The current default is 0xFF80, which masks out the lower 7 bits.
1221* This means that any frame which is x7F (127) bytes or smaller
1222* will cause an immediate interrupt. Because this value must be a
1223* bit mask, there are only a few valid values that can be used. To
1224* turn this feature off, the driver can write the value xFFFF to the
1225* lower word of this instruction (in the same way that the other
1226* parameters are used). Likewise, a value of 0xF800 (2047) would
1227* cause an interrupt to be generated for every frame, because all
1228* standard Ethernet frames are <= 2047 bytes in length.
1229*************************************************************************/
1230
1231/* if you wish to disable the ucode functionality, while maintaining the
1232 * workarounds it provides, set the following defines to:
1233 * BUNDLESMALL 0
1234 * BUNDLEMAX 1
1235 * INTDELAY 1
1236 */
1237#define BUNDLESMALL 1
1238#define BUNDLEMAX (u16)6
1239#define INTDELAY (u16)1536 /* 0x600 */
1240
1241 /* do not load u-code for ICH devices */
1242 if (nic->flags & ich)
1243 goto noloaducode;
1244
1245 /* Search for ucode match against h/w rev_id */
1246 for (opts = ucode_opts; opts->mac; opts++) {
1247 int i;
1248 u32 *ucode = opts->ucode;
1249 if (nic->mac != opts->mac)
1250 continue;
1251
1252 /* Insert user-tunable settings */
1253 ucode[opts->timer_dword] &= 0xFFFF0000;
1254 ucode[opts->timer_dword] |= INTDELAY;
1255 ucode[opts->bundle_dword] &= 0xFFFF0000;
1256 ucode[opts->bundle_dword] |= BUNDLEMAX;
1257 ucode[opts->min_size_dword] &= 0xFFFF0000;
1258 ucode[opts->min_size_dword] |= (BUNDLESMALL) ? 0xFFFF : 0xFF80;
1259
1260 for (i = 0; i < UCODE_SIZE; i++)
1025 cb->u.ucode[i] = cpu_to_le32(ucode[i]); 1261 cb->u.ucode[i] = cpu_to_le32(ucode[i]);
1026 cb->command = cpu_to_le16(cb_ucode); 1262 cb->command = cpu_to_le16(cb_ucode);
1027 } else 1263 return;
1028 cb->command = cpu_to_le16(cb_nop); 1264 }
1265
1266noloaducode:
1267 cb->command = cpu_to_le16(cb_nop);
1029} 1268}
1030 1269
1031static void e100_setup_iaaddr(struct nic *nic, struct cb *cb, 1270static void e100_setup_iaaddr(struct nic *nic, struct cb *cb,
diff --git a/drivers/net/fec_8xx/Kconfig b/drivers/net/fec_8xx/Kconfig
index 94e7a9af8705..a84c232395e3 100644
--- a/drivers/net/fec_8xx/Kconfig
+++ b/drivers/net/fec_8xx/Kconfig
@@ -1,6 +1,6 @@
1config FEC_8XX 1config FEC_8XX
2 tristate "Motorola 8xx FEC driver" 2 tristate "Motorola 8xx FEC driver"
3 depends on NET_ETHERNET && FEC 3 depends on NET_ETHERNET && 8xx
4 select MII 4 select MII
5 5
6config FEC_8XX_GENERIC_PHY 6config FEC_8XX_GENERIC_PHY
diff --git a/drivers/net/ioc3-eth.c b/drivers/net/ioc3-eth.c
index 6a3129bc15a6..9b8295ee06ef 100644
--- a/drivers/net/ioc3-eth.c
+++ b/drivers/net/ioc3-eth.c
@@ -1360,7 +1360,7 @@ static struct pci_driver ioc3_driver = {
1360 1360
1361static int __init ioc3_init_module(void) 1361static int __init ioc3_init_module(void)
1362{ 1362{
1363 return pci_module_init(&ioc3_driver); 1363 return pci_register_driver(&ioc3_driver);
1364} 1364}
1365 1365
1366static void __exit ioc3_cleanup_module(void) 1366static void __exit ioc3_cleanup_module(void)
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index 159b56a56ef4..14a76f7cf900 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -1346,10 +1346,8 @@ rtl8169_init_board(struct pci_dev *pdev, struct net_device **dev_out,
1346 } else { 1346 } else {
1347 if (netif_msg_probe(tp)) { 1347 if (netif_msg_probe(tp)) {
1348 printk(KERN_ERR PFX 1348 printk(KERN_ERR PFX
1349 "Cannot find PowerManagement capability. " 1349 "PowerManagement capability not found.\n");
1350 "Aborting.\n");
1351 } 1350 }
1352 goto err_out_mwi;
1353 } 1351 }
1354 1352
1355 /* make sure PCI base addr 1 is MMIO */ 1353 /* make sure PCI base addr 1 is MMIO */
@@ -2516,7 +2514,7 @@ rtl8169_interrupt(int irq, void *dev_instance, struct pt_regs *regs)
2516 } while (boguscnt > 0); 2514 } while (boguscnt > 0);
2517 2515
2518 if (boguscnt <= 0) { 2516 if (boguscnt <= 0) {
2519 if (net_ratelimit() && netif_msg_intr(tp)) { 2517 if (netif_msg_intr(tp) && net_ratelimit() ) {
2520 printk(KERN_WARNING 2518 printk(KERN_WARNING
2521 "%s: Too much work at interrupt!\n", dev->name); 2519 "%s: Too much work at interrupt!\n", dev->name);
2522 } 2520 }
diff --git a/drivers/net/saa9730.h b/drivers/net/saa9730.h
index 9e9da6b4080f..a7e9d29a86a7 100644
--- a/drivers/net/saa9730.h
+++ b/drivers/net/saa9730.h
@@ -1,6 +1,7 @@
1/* 1/*
2 * Carsten Langgaard, carstenl@mips.com 2 * Copyright (C) 2000, 2005 MIPS Technologies, Inc. All rights reserved.
3 * Copyright (C) 2000 MIPS Technologies, Inc. All rights reserved. 3 * Authors: Carsten Langgaard <carstenl@mips.com>
4 * Maciej W. Rozycki <macro@mips.com>
4 * 5 *
5 * ######################################################################## 6 * ########################################################################
6 * 7 *
@@ -265,6 +266,7 @@
265 266
266/* The SAA9730 (LAN) controller register map, as seen via the PCI-bus. */ 267/* The SAA9730 (LAN) controller register map, as seen via the PCI-bus. */
267#define SAA9730_LAN_REGS_ADDR 0x20400 268#define SAA9730_LAN_REGS_ADDR 0x20400
269#define SAA9730_LAN_REGS_SIZE 0x00400
268 270
269struct lan_saa9730_regmap { 271struct lan_saa9730_regmap {
270 volatile unsigned int TxBuffA; /* 0x20400 */ 272 volatile unsigned int TxBuffA; /* 0x20400 */
@@ -309,6 +311,7 @@ typedef volatile struct lan_saa9730_regmap t_lan_saa9730_regmap;
309 311
310/* The SAA9730 (EVM) controller register map, as seen via the PCI-bus. */ 312/* The SAA9730 (EVM) controller register map, as seen via the PCI-bus. */
311#define SAA9730_EVM_REGS_ADDR 0x02000 313#define SAA9730_EVM_REGS_ADDR 0x02000
314#define SAA9730_EVM_REGS_SIZE 0x00400
312 315
313struct evm_saa9730_regmap { 316struct evm_saa9730_regmap {
314 volatile unsigned int InterruptStatus1; /* 0x2000 */ 317 volatile unsigned int InterruptStatus1; /* 0x2000 */
@@ -329,16 +332,32 @@ typedef volatile struct evm_saa9730_regmap t_evm_saa9730_regmap;
329 332
330 333
331struct lan_saa9730_private { 334struct lan_saa9730_private {
335 /*
336 * Rx/Tx packet buffers.
337 * The Rx and Tx packets must be PACKET_SIZE aligned.
338 */
339 void *buffer_start;
340 unsigned int buffer_size;
341
342 /*
343 * DMA address of beginning of this object, returned
344 * by pci_alloc_consistent().
345 */
346 dma_addr_t dma_addr;
347
348 /* Pointer to the associated pci device structure */
349 struct pci_dev *pci_dev;
350
332 /* Pointer for the SAA9730 LAN controller register set. */ 351 /* Pointer for the SAA9730 LAN controller register set. */
333 t_lan_saa9730_regmap *lan_saa9730_regs; 352 t_lan_saa9730_regmap *lan_saa9730_regs;
334 353
335 /* Pointer to the SAA9730 EVM register. */ 354 /* Pointer to the SAA9730 EVM register. */
336 t_evm_saa9730_regmap *evm_saa9730_regs; 355 t_evm_saa9730_regmap *evm_saa9730_regs;
337 356
338 /* TRUE if the next buffer to write is RxBuffA, FALSE if RxBuffB. */
339 unsigned char NextRcvToUseIsA;
340 /* Rcv buffer Index. */ 357 /* Rcv buffer Index. */
341 unsigned char NextRcvPacketIndex; 358 unsigned char NextRcvPacketIndex;
359 /* Next buffer index. */
360 unsigned char NextRcvBufferIndex;
342 361
343 /* Index of next packet to use in that buffer. */ 362 /* Index of next packet to use in that buffer. */
344 unsigned char NextTxmPacketIndex; 363 unsigned char NextTxmPacketIndex;
@@ -353,13 +372,8 @@ struct lan_saa9730_private {
353 unsigned char DmaRcvPackets; 372 unsigned char DmaRcvPackets;
354 unsigned char DmaTxmPackets; 373 unsigned char DmaTxmPackets;
355 374
356 unsigned char RcvAIndex; /* index into RcvBufferSpace[] for Blk A */ 375 void *TxmBuffer[LAN_SAA9730_BUFFERS][LAN_SAA9730_TXM_Q_SIZE];
357 unsigned char RcvBIndex; /* index into RcvBufferSpace[] for Blk B */ 376 void *RcvBuffer[LAN_SAA9730_BUFFERS][LAN_SAA9730_RCV_Q_SIZE];
358
359 unsigned int
360 TxmBuffer[LAN_SAA9730_BUFFERS][LAN_SAA9730_TXM_Q_SIZE];
361 unsigned int
362 RcvBuffer[LAN_SAA9730_BUFFERS][LAN_SAA9730_RCV_Q_SIZE];
363 unsigned int TxBufferFree[LAN_SAA9730_BUFFERS]; 377 unsigned int TxBufferFree[LAN_SAA9730_BUFFERS];
364 378
365 unsigned char PhysicalAddress[LAN_SAA9730_CAM_ENTRIES][6]; 379 unsigned char PhysicalAddress[LAN_SAA9730_CAM_ENTRIES][6];
diff --git a/drivers/net/smc91x.c b/drivers/net/smc91x.c
index c91e2e81f131..28bf2e69eb5e 100644
--- a/drivers/net/smc91x.c
+++ b/drivers/net/smc91x.c
@@ -155,6 +155,12 @@ MODULE_LICENSE("GPL");
155#define MEMORY_WAIT_TIME 16 155#define MEMORY_WAIT_TIME 16
156 156
157/* 157/*
158 * The maximum number of processing loops allowed for each call to the
159 * IRQ handler.
160 */
161#define MAX_IRQ_LOOPS 8
162
163/*
158 * This selects whether TX packets are sent one by one to the SMC91x internal 164 * This selects whether TX packets are sent one by one to the SMC91x internal
159 * memory and throttled until transmission completes. This may prevent 165 * memory and throttled until transmission completes. This may prevent
160 * RX overruns a litle by keeping much of the memory free for RX packets 166 * RX overruns a litle by keeping much of the memory free for RX packets
@@ -684,7 +690,6 @@ static void smc_hardware_send_pkt(unsigned long data)
684 690
685 /* queue the packet for TX */ 691 /* queue the packet for TX */
686 SMC_SET_MMU_CMD(MC_ENQUEUE); 692 SMC_SET_MMU_CMD(MC_ENQUEUE);
687 SMC_ACK_INT(IM_TX_EMPTY_INT);
688 smc_special_unlock(&lp->lock); 693 smc_special_unlock(&lp->lock);
689 694
690 dev->trans_start = jiffies; 695 dev->trans_start = jiffies;
@@ -1207,6 +1212,7 @@ static void smc_phy_configure(void *data)
1207 smc_phy_check_media(dev, 1); 1212 smc_phy_check_media(dev, 1);
1208 1213
1209smc_phy_configure_exit: 1214smc_phy_configure_exit:
1215 SMC_SELECT_BANK(2);
1210 spin_unlock_irq(&lp->lock); 1216 spin_unlock_irq(&lp->lock);
1211 lp->work_pending = 0; 1217 lp->work_pending = 0;
1212} 1218}
@@ -1305,7 +1311,7 @@ static irqreturn_t smc_interrupt(int irq, void *dev_id, struct pt_regs *regs)
1305 SMC_SET_INT_MASK(0); 1311 SMC_SET_INT_MASK(0);
1306 1312
1307 /* set a timeout value, so I don't stay here forever */ 1313 /* set a timeout value, so I don't stay here forever */
1308 timeout = 8; 1314 timeout = MAX_IRQ_LOOPS;
1309 1315
1310 do { 1316 do {
1311 status = SMC_GET_INT(); 1317 status = SMC_GET_INT();
@@ -1372,10 +1378,13 @@ static irqreturn_t smc_interrupt(int irq, void *dev_id, struct pt_regs *regs)
1372 /* restore register states */ 1378 /* restore register states */
1373 SMC_SET_PTR(saved_pointer); 1379 SMC_SET_PTR(saved_pointer);
1374 SMC_SET_INT_MASK(mask); 1380 SMC_SET_INT_MASK(mask);
1375
1376 spin_unlock(&lp->lock); 1381 spin_unlock(&lp->lock);
1377 1382
1378 DBG(3, "%s: Interrupt done (%d loops)\n", dev->name, 8-timeout); 1383 if (timeout == MAX_IRQ_LOOPS)
1384 PRINTK("%s: spurious interrupt (mask = 0x%02x)\n",
1385 dev->name, mask);
1386 DBG(3, "%s: Interrupt done (%d loops)\n",
1387 dev->name, MAX_IRQ_LOOPS - timeout);
1379 1388
1380 /* 1389 /*
1381 * We return IRQ_HANDLED unconditionally here even if there was 1390 * We return IRQ_HANDLED unconditionally here even if there was
diff --git a/drivers/net/wan/hdlc_cisco.c b/drivers/net/wan/hdlc_cisco.c
index a01efa6d5c62..1fd04662c4fc 100644
--- a/drivers/net/wan/hdlc_cisco.c
+++ b/drivers/net/wan/hdlc_cisco.c
@@ -192,7 +192,9 @@ static int cisco_rx(struct sk_buff *skb)
192 "uptime %ud%uh%um%us)\n", 192 "uptime %ud%uh%um%us)\n",
193 dev->name, days, hrs, 193 dev->name, days, hrs,
194 min, sec); 194 min, sec);
195#if 0
195 netif_carrier_on(dev); 196 netif_carrier_on(dev);
197#endif
196 hdlc->state.cisco.up = 1; 198 hdlc->state.cisco.up = 1;
197 } 199 }
198 } 200 }
@@ -225,7 +227,9 @@ static void cisco_timer(unsigned long arg)
225 hdlc->state.cisco.settings.timeout * HZ)) { 227 hdlc->state.cisco.settings.timeout * HZ)) {
226 hdlc->state.cisco.up = 0; 228 hdlc->state.cisco.up = 0;
227 printk(KERN_INFO "%s: Link down\n", dev->name); 229 printk(KERN_INFO "%s: Link down\n", dev->name);
230#if 0
228 netif_carrier_off(dev); 231 netif_carrier_off(dev);
232#endif
229 } 233 }
230 234
231 cisco_keepalive_send(dev, CISCO_KEEPALIVE_REQ, 235 cisco_keepalive_send(dev, CISCO_KEEPALIVE_REQ,
@@ -261,8 +265,10 @@ static void cisco_stop(struct net_device *dev)
261{ 265{
262 hdlc_device *hdlc = dev_to_hdlc(dev); 266 hdlc_device *hdlc = dev_to_hdlc(dev);
263 del_timer_sync(&hdlc->state.cisco.timer); 267 del_timer_sync(&hdlc->state.cisco.timer);
268#if 0
264 if (netif_carrier_ok(dev)) 269 if (netif_carrier_ok(dev))
265 netif_carrier_off(dev); 270 netif_carrier_off(dev);
271#endif
266 hdlc->state.cisco.up = 0; 272 hdlc->state.cisco.up = 0;
267 hdlc->state.cisco.request_sent = 0; 273 hdlc->state.cisco.request_sent = 0;
268} 274}
diff --git a/drivers/net/wan/hdlc_fr.c b/drivers/net/wan/hdlc_fr.c
index e1601d35dced..523afe17564e 100644
--- a/drivers/net/wan/hdlc_fr.c
+++ b/drivers/net/wan/hdlc_fr.c
@@ -545,8 +545,10 @@ static void fr_set_link_state(int reliable, struct net_device *dev)
545 545
546 hdlc->state.fr.reliable = reliable; 546 hdlc->state.fr.reliable = reliable;
547 if (reliable) { 547 if (reliable) {
548#if 0
548 if (!netif_carrier_ok(dev)) 549 if (!netif_carrier_ok(dev))
549 netif_carrier_on(dev); 550 netif_carrier_on(dev);
551#endif
550 552
551 hdlc->state.fr.n391cnt = 0; /* Request full status */ 553 hdlc->state.fr.n391cnt = 0; /* Request full status */
552 hdlc->state.fr.dce_changed = 1; 554 hdlc->state.fr.dce_changed = 1;
@@ -560,8 +562,10 @@ static void fr_set_link_state(int reliable, struct net_device *dev)
560 } 562 }
561 } 563 }
562 } else { 564 } else {
565#if 0
563 if (netif_carrier_ok(dev)) 566 if (netif_carrier_ok(dev))
564 netif_carrier_off(dev); 567 netif_carrier_off(dev);
568#endif
565 569
566 while (pvc) { /* Deactivate all PVCs */ 570 while (pvc) { /* Deactivate all PVCs */
567 pvc_carrier(0, pvc); 571 pvc_carrier(0, pvc);
diff --git a/drivers/net/wan/hdlc_generic.c b/drivers/net/wan/hdlc_generic.c
index cdd4c09c2d90..46cef8f92133 100644
--- a/drivers/net/wan/hdlc_generic.c
+++ b/drivers/net/wan/hdlc_generic.c
@@ -79,11 +79,13 @@ static void __hdlc_set_carrier_on(struct net_device *dev)
79 hdlc_device *hdlc = dev_to_hdlc(dev); 79 hdlc_device *hdlc = dev_to_hdlc(dev);
80 if (hdlc->proto.start) 80 if (hdlc->proto.start)
81 return hdlc->proto.start(dev); 81 return hdlc->proto.start(dev);
82#if 0
82#ifdef DEBUG_LINK 83#ifdef DEBUG_LINK
83 if (netif_carrier_ok(dev)) 84 if (netif_carrier_ok(dev))
84 printk(KERN_ERR "hdlc_set_carrier_on(): already on\n"); 85 printk(KERN_ERR "hdlc_set_carrier_on(): already on\n");
85#endif 86#endif
86 netif_carrier_on(dev); 87 netif_carrier_on(dev);
88#endif
87} 89}
88 90
89 91
@@ -94,11 +96,13 @@ static void __hdlc_set_carrier_off(struct net_device *dev)
94 if (hdlc->proto.stop) 96 if (hdlc->proto.stop)
95 return hdlc->proto.stop(dev); 97 return hdlc->proto.stop(dev);
96 98
99#if 0
97#ifdef DEBUG_LINK 100#ifdef DEBUG_LINK
98 if (!netif_carrier_ok(dev)) 101 if (!netif_carrier_ok(dev))
99 printk(KERN_ERR "hdlc_set_carrier_off(): already off\n"); 102 printk(KERN_ERR "hdlc_set_carrier_off(): already off\n");
100#endif 103#endif
101 netif_carrier_off(dev); 104 netif_carrier_off(dev);
105#endif
102} 106}
103 107
104 108
@@ -294,8 +298,10 @@ int register_hdlc_device(struct net_device *dev)
294 if (result != 0) 298 if (result != 0)
295 return -EIO; 299 return -EIO;
296 300
301#if 0
297 if (netif_carrier_ok(dev)) 302 if (netif_carrier_ok(dev))
298 netif_carrier_off(dev); /* no carrier until DCD goes up */ 303 netif_carrier_off(dev); /* no carrier until DCD goes up */
304#endif
299 305
300 return 0; 306 return 0;
301} 307}
diff --git a/drivers/net/wireless/hermes.c b/drivers/net/wireless/hermes.c
index 579480dad374..346c6febb033 100644
--- a/drivers/net/wireless/hermes.c
+++ b/drivers/net/wireless/hermes.c
@@ -398,7 +398,7 @@ static int hermes_bap_seek(hermes_t *hw, int bap, u16 id, u16 offset)
398 * 398 *
399 * Returns: < 0 on internal failure (errno), 0 on success, > 0 on error from firmware 399 * Returns: < 0 on internal failure (errno), 0 on success, > 0 on error from firmware
400 */ 400 */
401int hermes_bap_pread(hermes_t *hw, int bap, void *buf, unsigned len, 401int hermes_bap_pread(hermes_t *hw, int bap, void *buf, int len,
402 u16 id, u16 offset) 402 u16 id, u16 offset)
403{ 403{
404 int dreg = bap ? HERMES_DATA1 : HERMES_DATA0; 404 int dreg = bap ? HERMES_DATA1 : HERMES_DATA0;
@@ -424,7 +424,7 @@ int hermes_bap_pread(hermes_t *hw, int bap, void *buf, unsigned len,
424 * 424 *
425 * Returns: < 0 on internal failure (errno), 0 on success, > 0 on error from firmware 425 * Returns: < 0 on internal failure (errno), 0 on success, > 0 on error from firmware
426 */ 426 */
427int hermes_bap_pwrite(hermes_t *hw, int bap, const void *buf, unsigned len, 427int hermes_bap_pwrite(hermes_t *hw, int bap, const void *buf, int len,
428 u16 id, u16 offset) 428 u16 id, u16 offset)
429{ 429{
430 int dreg = bap ? HERMES_DATA1 : HERMES_DATA0; 430 int dreg = bap ? HERMES_DATA1 : HERMES_DATA0;
@@ -450,7 +450,7 @@ int hermes_bap_pwrite(hermes_t *hw, int bap, const void *buf, unsigned len,
450 * 450 *
451 * Returns: < 0 on internal failure (errno), 0 on success, > 0 on error from firmware 451 * Returns: < 0 on internal failure (errno), 0 on success, > 0 on error from firmware
452 */ 452 */
453int hermes_bap_pwrite_pad(hermes_t *hw, int bap, const void *buf, unsigned data_len, unsigned len, 453int hermes_bap_pwrite_pad(hermes_t *hw, int bap, const void *buf, unsigned data_len, int len,
454 u16 id, u16 offset) 454 u16 id, u16 offset)
455{ 455{
456 int dreg = bap ? HERMES_DATA1 : HERMES_DATA0; 456 int dreg = bap ? HERMES_DATA1 : HERMES_DATA0;
diff --git a/drivers/net/wireless/hermes.h b/drivers/net/wireless/hermes.h
index a6bd472d75d4..7644f72a9f4e 100644
--- a/drivers/net/wireless/hermes.h
+++ b/drivers/net/wireless/hermes.h
@@ -372,12 +372,12 @@ int hermes_docmd_wait(hermes_t *hw, u16 cmd, u16 parm0,
372 struct hermes_response *resp); 372 struct hermes_response *resp);
373int hermes_allocate(hermes_t *hw, u16 size, u16 *fid); 373int hermes_allocate(hermes_t *hw, u16 size, u16 *fid);
374 374
375int hermes_bap_pread(hermes_t *hw, int bap, void *buf, unsigned len, 375int hermes_bap_pread(hermes_t *hw, int bap, void *buf, int len,
376 u16 id, u16 offset); 376 u16 id, u16 offset);
377int hermes_bap_pwrite(hermes_t *hw, int bap, const void *buf, unsigned len, 377int hermes_bap_pwrite(hermes_t *hw, int bap, const void *buf, int len,
378 u16 id, u16 offset); 378 u16 id, u16 offset);
379int hermes_bap_pwrite_pad(hermes_t *hw, int bap, const void *buf, 379int hermes_bap_pwrite_pad(hermes_t *hw, int bap, const void *buf,
380 unsigned data_len, unsigned len, u16 id, u16 offset); 380 unsigned data_len, int len, u16 id, u16 offset);
381int hermes_read_ltv(hermes_t *hw, int bap, u16 rid, unsigned buflen, 381int hermes_read_ltv(hermes_t *hw, int bap, u16 rid, unsigned buflen,
382 u16 *length, void *buf); 382 u16 *length, void *buf);
383int hermes_write_ltv(hermes_t *hw, int bap, u16 rid, 383int hermes_write_ltv(hermes_t *hw, int bap, u16 rid,
diff --git a/drivers/net/wireless/i82593.h b/drivers/net/wireless/i82593.h
index 33acb8add4d6..afac5c7a323d 100644
--- a/drivers/net/wireless/i82593.h
+++ b/drivers/net/wireless/i82593.h
@@ -7,11 +7,16 @@
7 * 7 *
8 * Copyright 1994, Anders Klemets <klemets@it.kth.se> 8 * Copyright 1994, Anders Klemets <klemets@it.kth.se>
9 * 9 *
10 * This software may be freely distributed for noncommercial purposes
11 * as long as this notice is retained.
12 *
13 * HISTORY 10 * HISTORY
14 * i82593.h,v 11 * i82593.h,v
12 * Revision 1.4 2005/11/4 09:15:00 baroniunas
13 * Modified copyright with permission of author as follows:
14 *
15 * "If I82539.H is the only file with my copyright statement
16 * that is included in the Source Forge project, then you have
17 * my approval to change the copyright statement to be a GPL
18 * license, in the way you proposed on October 10."
19 *
15 * Revision 1.1 1996/07/17 15:23:12 root 20 * Revision 1.1 1996/07/17 15:23:12 root
16 * Initial revision 21 * Initial revision
17 * 22 *
diff --git a/drivers/net/wireless/ipw2100.c b/drivers/net/wireless/ipw2100.c
index a2e6214169e9..77d2a21d4cd0 100644
--- a/drivers/net/wireless/ipw2100.c
+++ b/drivers/net/wireless/ipw2100.c
@@ -6344,7 +6344,8 @@ static struct net_device *ipw2100_alloc_device(struct pci_dev *pci_dev,
6344 dev->ethtool_ops = &ipw2100_ethtool_ops; 6344 dev->ethtool_ops = &ipw2100_ethtool_ops;
6345 dev->tx_timeout = ipw2100_tx_timeout; 6345 dev->tx_timeout = ipw2100_tx_timeout;
6346 dev->wireless_handlers = &ipw2100_wx_handler_def; 6346 dev->wireless_handlers = &ipw2100_wx_handler_def;
6347 dev->get_wireless_stats = ipw2100_wx_wireless_stats; 6347 priv->wireless_data.ieee80211 = priv->ieee;
6348 dev->wireless_data = &priv->wireless_data;
6348 dev->set_mac_address = ipw2100_set_address; 6349 dev->set_mac_address = ipw2100_set_address;
6349 dev->watchdog_timeo = 3 * HZ; 6350 dev->watchdog_timeo = 3 * HZ;
6350 dev->irq = 0; 6351 dev->irq = 0;
@@ -7178,6 +7179,11 @@ static int ipw2100_wx_get_range(struct net_device *dev,
7178 } 7179 }
7179 range->num_frequency = val; 7180 range->num_frequency = val;
7180 7181
7182 /* Event capability (kernel + driver) */
7183 range->event_capa[0] = (IW_EVENT_CAPA_K_0 |
7184 IW_EVENT_CAPA_MASK(SIOCGIWAP));
7185 range->event_capa[1] = IW_EVENT_CAPA_K_1;
7186
7181 IPW_DEBUG_WX("GET Range\n"); 7187 IPW_DEBUG_WX("GET Range\n");
7182 7188
7183 return 0; 7189 return 0;
@@ -8446,16 +8452,6 @@ static iw_handler ipw2100_private_handler[] = {
8446#endif /* CONFIG_IPW2100_MONITOR */ 8452#endif /* CONFIG_IPW2100_MONITOR */
8447}; 8453};
8448 8454
8449static struct iw_handler_def ipw2100_wx_handler_def = {
8450 .standard = ipw2100_wx_handlers,
8451 .num_standard = sizeof(ipw2100_wx_handlers) / sizeof(iw_handler),
8452 .num_private = sizeof(ipw2100_private_handler) / sizeof(iw_handler),
8453 .num_private_args = sizeof(ipw2100_private_args) /
8454 sizeof(struct iw_priv_args),
8455 .private = (iw_handler *) ipw2100_private_handler,
8456 .private_args = (struct iw_priv_args *)ipw2100_private_args,
8457};
8458
8459/* 8455/*
8460 * Get wireless statistics. 8456 * Get wireless statistics.
8461 * Called by /proc/net/wireless 8457 * Called by /proc/net/wireless
@@ -8597,6 +8593,17 @@ static struct iw_statistics *ipw2100_wx_wireless_stats(struct net_device *dev)
8597 return (struct iw_statistics *)NULL; 8593 return (struct iw_statistics *)NULL;
8598} 8594}
8599 8595
8596static struct iw_handler_def ipw2100_wx_handler_def = {
8597 .standard = ipw2100_wx_handlers,
8598 .num_standard = sizeof(ipw2100_wx_handlers) / sizeof(iw_handler),
8599 .num_private = sizeof(ipw2100_private_handler) / sizeof(iw_handler),
8600 .num_private_args = sizeof(ipw2100_private_args) /
8601 sizeof(struct iw_priv_args),
8602 .private = (iw_handler *) ipw2100_private_handler,
8603 .private_args = (struct iw_priv_args *)ipw2100_private_args,
8604 .get_wireless_stats = ipw2100_wx_wireless_stats,
8605};
8606
8600static void ipw2100_wx_event_work(struct ipw2100_priv *priv) 8607static void ipw2100_wx_event_work(struct ipw2100_priv *priv)
8601{ 8608{
8602 union iwreq_data wrqu; 8609 union iwreq_data wrqu;
diff --git a/drivers/net/wireless/ipw2100.h b/drivers/net/wireless/ipw2100.h
index 140fdf2a0a09..7c65b10bb164 100644
--- a/drivers/net/wireless/ipw2100.h
+++ b/drivers/net/wireless/ipw2100.h
@@ -571,6 +571,8 @@ struct ipw2100_priv {
571 struct net_device *net_dev; 571 struct net_device *net_dev;
572 struct iw_statistics wstats; 572 struct iw_statistics wstats;
573 573
574 struct iw_public_data wireless_data;
575
574 struct tasklet_struct irq_tasklet; 576 struct tasklet_struct irq_tasklet;
575 577
576 struct workqueue_struct *workqueue; 578 struct workqueue_struct *workqueue;
diff --git a/drivers/net/wireless/prism54/isl_38xx.c b/drivers/net/wireless/prism54/isl_38xx.c
index 109a96d90007..23deee69974b 100644
--- a/drivers/net/wireless/prism54/isl_38xx.c
+++ b/drivers/net/wireless/prism54/isl_38xx.c
@@ -164,12 +164,12 @@ isl38xx_trigger_device(int asleep, void __iomem *device_base)
164 /* assert the Wakeup interrupt in the Device Interrupt Register */ 164 /* assert the Wakeup interrupt in the Device Interrupt Register */
165 isl38xx_w32_flush(device_base, ISL38XX_DEV_INT_WAKEUP, 165 isl38xx_w32_flush(device_base, ISL38XX_DEV_INT_WAKEUP,
166 ISL38XX_DEV_INT_REG); 166 ISL38XX_DEV_INT_REG);
167
168#if VERBOSE > SHOW_ERROR_MESSAGES
167 udelay(ISL38XX_WRITEIO_DELAY); 169 udelay(ISL38XX_WRITEIO_DELAY);
168 170
169 /* perform another read on the Device Status Register */ 171 /* perform another read on the Device Status Register */
170 reg = readl(device_base + ISL38XX_CTRL_STAT_REG); 172 reg = readl(device_base + ISL38XX_CTRL_STAT_REG);
171
172#if VERBOSE > SHOW_ERROR_MESSAGES
173 do_gettimeofday(&current_time); 173 do_gettimeofday(&current_time);
174 DEBUG(SHOW_TRACING, "%08li.%08li Device register read %08x\n", 174 DEBUG(SHOW_TRACING, "%08li.%08li Device register read %08x\n",
175 current_time.tv_sec, (long)current_time.tv_usec, reg); 175 current_time.tv_sec, (long)current_time.tv_usec, reg);
diff --git a/drivers/s390/char/raw3270.c b/drivers/s390/char/raw3270.c
index f5b7d360fc10..1026f2bc3185 100644
--- a/drivers/s390/char/raw3270.c
+++ b/drivers/s390/char/raw3270.c
@@ -1179,12 +1179,12 @@ raw3270_create_attributes(struct raw3270 *rp)
1179 //FIXME: check return code 1179 //FIXME: check return code
1180 sysfs_create_group(&rp->cdev->dev.kobj, &raw3270_attr_group); 1180 sysfs_create_group(&rp->cdev->dev.kobj, &raw3270_attr_group);
1181 rp->clttydev = 1181 rp->clttydev =
1182 class_device_create(class3270, 1182 class_device_create(class3270, NULL,
1183 MKDEV(IBM_TTY3270_MAJOR, rp->minor), 1183 MKDEV(IBM_TTY3270_MAJOR, rp->minor),
1184 &rp->cdev->dev, "tty%s", 1184 &rp->cdev->dev, "tty%s",
1185 rp->cdev->dev.bus_id); 1185 rp->cdev->dev.bus_id);
1186 rp->cltubdev = 1186 rp->cltubdev =
1187 class_device_create(class3270, 1187 class_device_create(class3270, NULL,
1188 MKDEV(IBM_FS3270_MAJOR, rp->minor), 1188 MKDEV(IBM_FS3270_MAJOR, rp->minor),
1189 &rp->cdev->dev, "tub%s", 1189 &rp->cdev->dev, "tub%s",
1190 rp->cdev->dev.bus_id); 1190 rp->cdev->dev.bus_id);
diff --git a/drivers/scsi/sata_mv.c b/drivers/scsi/sata_mv.c
index ac184e60797e..ab7432a5778e 100644
--- a/drivers/scsi/sata_mv.c
+++ b/drivers/scsi/sata_mv.c
@@ -2,6 +2,7 @@
2 * sata_mv.c - Marvell SATA support 2 * sata_mv.c - Marvell SATA support
3 * 3 *
4 * Copyright 2005: EMC Corporation, all rights reserved. 4 * Copyright 2005: EMC Corporation, all rights reserved.
5 * Copyright 2005 Red Hat, Inc. All rights reserved.
5 * 6 *
6 * Please ALWAYS copy linux-ide@vger.kernel.org on emails. 7 * Please ALWAYS copy linux-ide@vger.kernel.org on emails.
7 * 8 *
@@ -36,7 +37,7 @@
36#include <asm/io.h> 37#include <asm/io.h>
37 38
38#define DRV_NAME "sata_mv" 39#define DRV_NAME "sata_mv"
39#define DRV_VERSION "0.25" 40#define DRV_VERSION "0.5"
40 41
41enum { 42enum {
42 /* BAR's are enumerated in terms of pci_resource_start() terms */ 43 /* BAR's are enumerated in terms of pci_resource_start() terms */
diff --git a/drivers/scsi/sata_sil24.c b/drivers/scsi/sata_sil24.c
index cb1933a3bd55..e0d6f194f54f 100644
--- a/drivers/scsi/sata_sil24.c
+++ b/drivers/scsi/sata_sil24.c
@@ -5,17 +5,6 @@
5 * 5 *
6 * Based on preview driver from Silicon Image. 6 * Based on preview driver from Silicon Image.
7 * 7 *
8 * NOTE: No NCQ/ATAPI support yet. The preview driver didn't support
9 * NCQ nor ATAPI, and, unfortunately, I couldn't find out how to make
10 * those work. Enabling those shouldn't be difficult. Basic
11 * structure is all there (in libata-dev tree). If you have any
12 * information about this hardware, please contact me or linux-ide.
13 * Info is needed on...
14 *
15 * - How to issue tagged commands and turn on sactive on issue accordingly.
16 * - Where to put an ATAPI command and how to tell the device to send it.
17 * - How to enable/use 64bit.
18 *
19 * This program is free software; you can redistribute it and/or modify it 8 * This program is free software; you can redistribute it and/or modify it
20 * under the terms of the GNU General Public License as published by the 9 * under the terms of the GNU General Public License as published by the
21 * Free Software Foundation; either version 2, or (at your option) any 10 * Free Software Foundation; either version 2, or (at your option) any
@@ -42,7 +31,7 @@
42#include <asm/io.h> 31#include <asm/io.h>
43 32
44#define DRV_NAME "sata_sil24" 33#define DRV_NAME "sata_sil24"
45#define DRV_VERSION "0.22" /* Silicon Image's preview driver was 0.10 */ 34#define DRV_VERSION "0.23"
46 35
47/* 36/*
48 * Port request block (PRB) 32 bytes 37 * Port request block (PRB) 32 bytes
@@ -221,11 +210,22 @@ enum {
221 IRQ_STAT_4PORTS = 0xf, 210 IRQ_STAT_4PORTS = 0xf,
222}; 211};
223 212
224struct sil24_cmd_block { 213struct sil24_ata_block {
225 struct sil24_prb prb; 214 struct sil24_prb prb;
226 struct sil24_sge sge[LIBATA_MAX_PRD]; 215 struct sil24_sge sge[LIBATA_MAX_PRD];
227}; 216};
228 217
218struct sil24_atapi_block {
219 struct sil24_prb prb;
220 u8 cdb[16];
221 struct sil24_sge sge[LIBATA_MAX_PRD - 1];
222};
223
224union sil24_cmd_block {
225 struct sil24_ata_block ata;
226 struct sil24_atapi_block atapi;
227};
228
229/* 229/*
230 * ap->private_data 230 * ap->private_data
231 * 231 *
@@ -233,7 +233,7 @@ struct sil24_cmd_block {
233 * here from the previous interrupt. 233 * here from the previous interrupt.
234 */ 234 */
235struct sil24_port_priv { 235struct sil24_port_priv {
236 struct sil24_cmd_block *cmd_block; /* 32 cmd blocks */ 236 union sil24_cmd_block *cmd_block; /* 32 cmd blocks */
237 dma_addr_t cmd_block_dma; /* DMA base addr for them */ 237 dma_addr_t cmd_block_dma; /* DMA base addr for them */
238 struct ata_taskfile tf; /* Cached taskfile registers */ 238 struct ata_taskfile tf; /* Cached taskfile registers */
239}; 239};
@@ -244,6 +244,7 @@ struct sil24_host_priv {
244 void __iomem *port_base; /* port registers (4 * 8192 bytes @BAR2) */ 244 void __iomem *port_base; /* port registers (4 * 8192 bytes @BAR2) */
245}; 245};
246 246
247static void sil24_dev_config(struct ata_port *ap, struct ata_device *dev);
247static u8 sil24_check_status(struct ata_port *ap); 248static u8 sil24_check_status(struct ata_port *ap);
248static u32 sil24_scr_read(struct ata_port *ap, unsigned sc_reg); 249static u32 sil24_scr_read(struct ata_port *ap, unsigned sc_reg);
249static void sil24_scr_write(struct ata_port *ap, unsigned sc_reg, u32 val); 250static void sil24_scr_write(struct ata_port *ap, unsigned sc_reg, u32 val);
@@ -297,6 +298,8 @@ static struct scsi_host_template sil24_sht = {
297static const struct ata_port_operations sil24_ops = { 298static const struct ata_port_operations sil24_ops = {
298 .port_disable = ata_port_disable, 299 .port_disable = ata_port_disable,
299 300
301 .dev_config = sil24_dev_config,
302
300 .check_status = sil24_check_status, 303 .check_status = sil24_check_status,
301 .check_altstatus = sil24_check_status, 304 .check_altstatus = sil24_check_status,
302 .dev_select = ata_noop_dev_select, 305 .dev_select = ata_noop_dev_select,
@@ -333,7 +336,7 @@ static struct ata_port_info sil24_port_info[] = {
333 { 336 {
334 .sht = &sil24_sht, 337 .sht = &sil24_sht,
335 .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | 338 .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
336 ATA_FLAG_SATA_RESET | ATA_FLAG_MMIO | 339 ATA_FLAG_SRST | ATA_FLAG_MMIO |
337 ATA_FLAG_PIO_DMA | SIL24_NPORTS2FLAG(4), 340 ATA_FLAG_PIO_DMA | SIL24_NPORTS2FLAG(4),
338 .pio_mask = 0x1f, /* pio0-4 */ 341 .pio_mask = 0x1f, /* pio0-4 */
339 .mwdma_mask = 0x07, /* mwdma0-2 */ 342 .mwdma_mask = 0x07, /* mwdma0-2 */
@@ -344,7 +347,7 @@ static struct ata_port_info sil24_port_info[] = {
344 { 347 {
345 .sht = &sil24_sht, 348 .sht = &sil24_sht,
346 .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | 349 .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
347 ATA_FLAG_SATA_RESET | ATA_FLAG_MMIO | 350 ATA_FLAG_SRST | ATA_FLAG_MMIO |
348 ATA_FLAG_PIO_DMA | SIL24_NPORTS2FLAG(2), 351 ATA_FLAG_PIO_DMA | SIL24_NPORTS2FLAG(2),
349 .pio_mask = 0x1f, /* pio0-4 */ 352 .pio_mask = 0x1f, /* pio0-4 */
350 .mwdma_mask = 0x07, /* mwdma0-2 */ 353 .mwdma_mask = 0x07, /* mwdma0-2 */
@@ -355,7 +358,7 @@ static struct ata_port_info sil24_port_info[] = {
355 { 358 {
356 .sht = &sil24_sht, 359 .sht = &sil24_sht,
357 .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | 360 .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
358 ATA_FLAG_SATA_RESET | ATA_FLAG_MMIO | 361 ATA_FLAG_SRST | ATA_FLAG_MMIO |
359 ATA_FLAG_PIO_DMA | SIL24_NPORTS2FLAG(1), 362 ATA_FLAG_PIO_DMA | SIL24_NPORTS2FLAG(1),
360 .pio_mask = 0x1f, /* pio0-4 */ 363 .pio_mask = 0x1f, /* pio0-4 */
361 .mwdma_mask = 0x07, /* mwdma0-2 */ 364 .mwdma_mask = 0x07, /* mwdma0-2 */
@@ -364,6 +367,16 @@ static struct ata_port_info sil24_port_info[] = {
364 }, 367 },
365}; 368};
366 369
370static void sil24_dev_config(struct ata_port *ap, struct ata_device *dev)
371{
372 void __iomem *port = (void __iomem *)ap->ioaddr.cmd_addr;
373
374 if (ap->cdb_len == 16)
375 writel(PORT_CS_CDB16, port + PORT_CTRL_STAT);
376 else
377 writel(PORT_CS_CDB16, port + PORT_CTRL_CLR);
378}
379
367static inline void sil24_update_tf(struct ata_port *ap) 380static inline void sil24_update_tf(struct ata_port *ap)
368{ 381{
369 struct sil24_port_priv *pp = ap->private_data; 382 struct sil24_port_priv *pp = ap->private_data;
@@ -415,22 +428,73 @@ static void sil24_tf_read(struct ata_port *ap, struct ata_taskfile *tf)
415 *tf = pp->tf; 428 *tf = pp->tf;
416} 429}
417 430
418static void sil24_phy_reset(struct ata_port *ap) 431static int sil24_issue_SRST(struct ata_port *ap)
419{ 432{
420 __sata_phy_reset(ap); 433 void __iomem *port = (void __iomem *)ap->ioaddr.cmd_addr;
434 struct sil24_port_priv *pp = ap->private_data;
435 struct sil24_prb *prb = &pp->cmd_block[0].ata.prb;
436 dma_addr_t paddr = pp->cmd_block_dma;
437 u32 irq_enable, irq_stat;
438 int cnt;
439
440 /* temporarily turn off IRQs during SRST */
441 irq_enable = readl(port + PORT_IRQ_ENABLE_SET);
442 writel(irq_enable, port + PORT_IRQ_ENABLE_CLR);
443
421 /* 444 /*
422 * No ATAPI yet. Just unconditionally indicate ATA device. 445 * XXX: Not sure whether the following sleep is needed or not.
423 * If ATAPI device is attached, it will fail ATA_CMD_ID_ATA 446 * The original driver had it. So....
424 * and libata core will ignore the device.
425 */ 447 */
426 if (!(ap->flags & ATA_FLAG_PORT_DISABLED)) 448 msleep(10);
427 ap->device[0].class = ATA_DEV_ATA; 449
450 prb->ctrl = PRB_CTRL_SRST;
451 prb->fis[1] = 0; /* no PM yet */
452
453 writel((u32)paddr, port + PORT_CMD_ACTIVATE);
454
455 for (cnt = 0; cnt < 100; cnt++) {
456 irq_stat = readl(port + PORT_IRQ_STAT);
457 writel(irq_stat, port + PORT_IRQ_STAT); /* clear irq */
458
459 irq_stat >>= PORT_IRQ_RAW_SHIFT;
460 if (irq_stat & (PORT_IRQ_COMPLETE | PORT_IRQ_ERROR))
461 break;
462
463 msleep(1);
464 }
465
466 /* restore IRQs */
467 writel(irq_enable, port + PORT_IRQ_ENABLE_SET);
468
469 if (!(irq_stat & PORT_IRQ_COMPLETE))
470 return -1;
471
472 /* update TF */
473 sil24_update_tf(ap);
474 return 0;
475}
476
477static void sil24_phy_reset(struct ata_port *ap)
478{
479 struct sil24_port_priv *pp = ap->private_data;
480
481 __sata_phy_reset(ap);
482 if (ap->flags & ATA_FLAG_PORT_DISABLED)
483 return;
484
485 if (sil24_issue_SRST(ap) < 0) {
486 printk(KERN_ERR DRV_NAME
487 " ata%u: SRST failed, disabling port\n", ap->id);
488 ap->ops->port_disable(ap);
489 return;
490 }
491
492 ap->device->class = ata_dev_classify(&pp->tf);
428} 493}
429 494
430static inline void sil24_fill_sg(struct ata_queued_cmd *qc, 495static inline void sil24_fill_sg(struct ata_queued_cmd *qc,
431 struct sil24_cmd_block *cb) 496 struct sil24_sge *sge)
432{ 497{
433 struct sil24_sge *sge = cb->sge;
434 struct scatterlist *sg; 498 struct scatterlist *sg;
435 unsigned int idx = 0; 499 unsigned int idx = 0;
436 500
@@ -451,23 +515,47 @@ static void sil24_qc_prep(struct ata_queued_cmd *qc)
451{ 515{
452 struct ata_port *ap = qc->ap; 516 struct ata_port *ap = qc->ap;
453 struct sil24_port_priv *pp = ap->private_data; 517 struct sil24_port_priv *pp = ap->private_data;
454 struct sil24_cmd_block *cb = pp->cmd_block + qc->tag; 518 union sil24_cmd_block *cb = pp->cmd_block + qc->tag;
455 struct sil24_prb *prb = &cb->prb; 519 struct sil24_prb *prb;
520 struct sil24_sge *sge;
456 521
457 switch (qc->tf.protocol) { 522 switch (qc->tf.protocol) {
458 case ATA_PROT_PIO: 523 case ATA_PROT_PIO:
459 case ATA_PROT_DMA: 524 case ATA_PROT_DMA:
460 case ATA_PROT_NODATA: 525 case ATA_PROT_NODATA:
526 prb = &cb->ata.prb;
527 sge = cb->ata.sge;
528 prb->ctrl = 0;
529 break;
530
531 case ATA_PROT_ATAPI:
532 case ATA_PROT_ATAPI_DMA:
533 case ATA_PROT_ATAPI_NODATA:
534 prb = &cb->atapi.prb;
535 sge = cb->atapi.sge;
536 memset(cb->atapi.cdb, 0, 32);
537 memcpy(cb->atapi.cdb, qc->cdb, ap->cdb_len);
538
539 if (qc->tf.protocol != ATA_PROT_ATAPI_NODATA) {
540 if (qc->tf.flags & ATA_TFLAG_WRITE)
541 prb->ctrl = PRB_CTRL_PACKET_WRITE;
542 else
543 prb->ctrl = PRB_CTRL_PACKET_READ;
544 } else
545 prb->ctrl = 0;
546
461 break; 547 break;
548
462 default: 549 default:
463 /* ATAPI isn't supported yet */ 550 prb = NULL; /* shut up, gcc */
551 sge = NULL;
464 BUG(); 552 BUG();
465 } 553 }
466 554
467 ata_tf_to_fis(&qc->tf, prb->fis, 0); 555 ata_tf_to_fis(&qc->tf, prb->fis, 0);
468 556
469 if (qc->flags & ATA_QCFLAG_DMAMAP) 557 if (qc->flags & ATA_QCFLAG_DMAMAP)
470 sil24_fill_sg(qc, cb); 558 sil24_fill_sg(qc, sge);
471} 559}
472 560
473static int sil24_qc_issue(struct ata_queued_cmd *qc) 561static int sil24_qc_issue(struct ata_queued_cmd *qc)
@@ -486,6 +574,31 @@ static void sil24_irq_clear(struct ata_port *ap)
486 /* unused */ 574 /* unused */
487} 575}
488 576
577static int __sil24_restart_controller(void __iomem *port)
578{
579 u32 tmp;
580 int cnt;
581
582 writel(PORT_CS_INIT, port + PORT_CTRL_STAT);
583
584 /* Max ~10ms */
585 for (cnt = 0; cnt < 10000; cnt++) {
586 tmp = readl(port + PORT_CTRL_STAT);
587 if (tmp & PORT_CS_RDY)
588 return 0;
589 udelay(1);
590 }
591
592 return -1;
593}
594
595static void sil24_restart_controller(struct ata_port *ap)
596{
597 if (__sil24_restart_controller((void __iomem *)ap->ioaddr.cmd_addr))
598 printk(KERN_ERR DRV_NAME
599 " ata%u: failed to restart controller\n", ap->id);
600}
601
489static int __sil24_reset_controller(void __iomem *port) 602static int __sil24_reset_controller(void __iomem *port)
490{ 603{
491 int cnt; 604 int cnt;
@@ -505,7 +618,11 @@ static int __sil24_reset_controller(void __iomem *port)
505 618
506 if (tmp & PORT_CS_DEV_RST) 619 if (tmp & PORT_CS_DEV_RST)
507 return -1; 620 return -1;
508 return 0; 621
622 if (tmp & PORT_CS_RDY)
623 return 0;
624
625 return __sil24_restart_controller(port);
509} 626}
510 627
511static void sil24_reset_controller(struct ata_port *ap) 628static void sil24_reset_controller(struct ata_port *ap)
@@ -567,9 +684,15 @@ static void sil24_error_intr(struct ata_port *ap, u32 slot_stat)
567 if (serror) 684 if (serror)
568 writel(serror, port + PORT_SERROR); 685 writel(serror, port + PORT_SERROR);
569 686
570 printk(KERN_ERR DRV_NAME " ata%u: error interrupt on port%d\n" 687 /*
571 " stat=0x%x irq=0x%x cmd_err=%d sstatus=0x%x serror=0x%x\n", 688 * Don't log ATAPI device errors. They're supposed to happen
572 ap->id, ap->port_no, slot_stat, irq_stat, cmd_err, sstatus, serror); 689 * and any serious errors will be logged using sense data by
690 * the SCSI layer.
691 */
692 if (ap->device[0].class != ATA_DEV_ATAPI || cmd_err > PORT_CERR_SDB)
693 printk("ata%u: error interrupt on port%d\n"
694 " stat=0x%x irq=0x%x cmd_err=%d sstatus=0x%x serror=0x%x\n",
695 ap->id, ap->port_no, slot_stat, irq_stat, cmd_err, sstatus, serror);
573 696
574 if (cmd_err == PORT_CERR_DEV || cmd_err == PORT_CERR_SDB) { 697 if (cmd_err == PORT_CERR_DEV || cmd_err == PORT_CERR_SDB) {
575 /* 698 /*
@@ -577,6 +700,7 @@ static void sil24_error_intr(struct ata_port *ap, u32 slot_stat)
577 */ 700 */
578 sil24_update_tf(ap); 701 sil24_update_tf(ap);
579 err_mask = ac_err_mask(pp->tf.command); 702 err_mask = ac_err_mask(pp->tf.command);
703 sil24_restart_controller(ap);
580 } else { 704 } else {
581 /* 705 /*
582 * Other errors. libata currently doesn't have any 706 * Other errors. libata currently doesn't have any
@@ -584,12 +708,11 @@ static void sil24_error_intr(struct ata_port *ap, u32 slot_stat)
584 * ATA_ERR. 708 * ATA_ERR.
585 */ 709 */
586 err_mask = AC_ERR_OTHER; 710 err_mask = AC_ERR_OTHER;
711 sil24_reset_controller(ap);
587 } 712 }
588 713
589 if (qc) 714 if (qc)
590 ata_qc_complete(qc, err_mask); 715 ata_qc_complete(qc, err_mask);
591
592 sil24_reset_controller(ap);
593} 716}
594 717
595static inline void sil24_host_intr(struct ata_port *ap) 718static inline void sil24_host_intr(struct ata_port *ap)
@@ -665,7 +788,7 @@ static int sil24_port_start(struct ata_port *ap)
665{ 788{
666 struct device *dev = ap->host_set->dev; 789 struct device *dev = ap->host_set->dev;
667 struct sil24_port_priv *pp; 790 struct sil24_port_priv *pp;
668 struct sil24_cmd_block *cb; 791 union sil24_cmd_block *cb;
669 size_t cb_size = sizeof(*cb); 792 size_t cb_size = sizeof(*cb);
670 dma_addr_t cb_dma; 793 dma_addr_t cb_dma;
671 int rc = -ENOMEM; 794 int rc = -ENOMEM;
diff --git a/drivers/usb/host/ohci-ppc-soc.c b/drivers/usb/host/ohci-ppc-soc.c
index 18755766e406..2ec6a78bd65e 100644
--- a/drivers/usb/host/ohci-ppc-soc.c
+++ b/drivers/usb/host/ohci-ppc-soc.c
@@ -185,7 +185,7 @@ static int ohci_hcd_ppc_soc_drv_probe(struct platform_device *pdev)
185 185
186static int ohci_hcd_ppc_soc_drv_remove(struct platform_device *pdev) 186static int ohci_hcd_ppc_soc_drv_remove(struct platform_device *pdev)
187{ 187{
188 struct usb_hcd *hcd = platform_get_drvdata(dev); 188 struct usb_hcd *hcd = platform_get_drvdata(pdev);
189 189
190 usb_hcd_ppc_soc_remove(hcd, pdev); 190 usb_hcd_ppc_soc_remove(hcd, pdev);
191 return 0; 191 return 0;
diff --git a/drivers/video/offb.c b/drivers/video/offb.c
index 2c856838694e..00d87f5bb7be 100644
--- a/drivers/video/offb.c
+++ b/drivers/video/offb.c
@@ -26,6 +26,7 @@
26#include <linux/fb.h> 26#include <linux/fb.h>
27#include <linux/init.h> 27#include <linux/init.h>
28#include <linux/ioport.h> 28#include <linux/ioport.h>
29#include <linux/pci.h>
29#include <asm/io.h> 30#include <asm/io.h>
30#include <asm/prom.h> 31#include <asm/prom.h>
31 32
@@ -325,8 +326,8 @@ static void __init offb_init_nodriver(struct device_node *dp)
325 int *pp, i; 326 int *pp, i;
326 unsigned int len; 327 unsigned int len;
327 int width = 640, height = 480, depth = 8, pitch; 328 int width = 640, height = 480, depth = 8, pitch;
328 unsigned *up; 329 unsigned int rsize, *up;
329 unsigned long address; 330 unsigned long address = 0;
330 331
331 if ((pp = (int *) get_property(dp, "depth", &len)) != NULL 332 if ((pp = (int *) get_property(dp, "depth", &len)) != NULL
332 && len == sizeof(int)) 333 && len == sizeof(int))
@@ -344,10 +345,40 @@ static void __init offb_init_nodriver(struct device_node *dp)
344 pitch = 0x1000; 345 pitch = 0x1000;
345 } else 346 } else
346 pitch = width; 347 pitch = width;
347 if ((up = (unsigned *) get_property(dp, "address", &len)) != NULL 348
348 && len == sizeof(unsigned)) 349 rsize = (unsigned long)pitch * (unsigned long)height *
350 (unsigned long)(depth / 8);
351
352 /* Try to match device to a PCI device in order to get a properly
353 * translated address rather then trying to decode the open firmware
354 * stuff in various incorrect ways
355 */
356#ifdef CONFIG_PCI
357 /* First try to locate the PCI device if any */
358 {
359 struct pci_dev *pdev = NULL;
360
361 for_each_pci_dev(pdev) {
362 if (dp == pci_device_to_OF_node(pdev))
363 break;
364 }
365 if (pdev) {
366 for (i = 0; i < 6 && address == 0; i++) {
367 if ((pci_resource_flags(pdev, i) &
368 IORESOURCE_MEM) &&
369 (pci_resource_len(pdev, i) >= rsize))
370 address = pci_resource_start(pdev, i);
371 }
372 pci_dev_put(pdev);
373 }
374 }
375#endif /* CONFIG_PCI */
376
377 if (address == 0 &&
378 (up = (unsigned *) get_property(dp, "address", &len)) != NULL &&
379 len == sizeof(unsigned))
349 address = (u_long) * up; 380 address = (u_long) * up;
350 else { 381 if (address == 0) {
351 for (i = 0; i < dp->n_addrs; ++i) 382 for (i = 0; i < dp->n_addrs; ++i)
352 if (dp->addrs[i].size >= 383 if (dp->addrs[i].size >=
353 pitch * height * depth / 8) 384 pitch * height * depth / 8)
diff --git a/fs/compat_ioctl.c b/fs/compat_ioctl.c
index f07e60f9e102..991c00de5c4e 100644
--- a/fs/compat_ioctl.c
+++ b/fs/compat_ioctl.c
@@ -49,6 +49,8 @@
49#include <linux/vt_kern.h> 49#include <linux/vt_kern.h>
50#include <linux/fb.h> 50#include <linux/fb.h>
51#include <linux/ext2_fs.h> 51#include <linux/ext2_fs.h>
52#include <linux/ext3_jbd.h>
53#include <linux/ext3_fs.h>
52#include <linux/videodev.h> 54#include <linux/videodev.h>
53#include <linux/netdevice.h> 55#include <linux/netdevice.h>
54#include <linux/raw.h> 56#include <linux/raw.h>
@@ -134,6 +136,15 @@
134/* Aiee. Someone does not find a difference between int and long */ 136/* Aiee. Someone does not find a difference between int and long */
135#define EXT2_IOC32_GETFLAGS _IOR('f', 1, int) 137#define EXT2_IOC32_GETFLAGS _IOR('f', 1, int)
136#define EXT2_IOC32_SETFLAGS _IOW('f', 2, int) 138#define EXT2_IOC32_SETFLAGS _IOW('f', 2, int)
139#define EXT3_IOC32_GETVERSION _IOR('f', 3, int)
140#define EXT3_IOC32_SETVERSION _IOR('f', 4, int)
141#define EXT3_IOC32_GETRSVSZ _IOR('f', 5, int)
142#define EXT3_IOC32_SETRSVSZ _IOW('f', 6, int)
143#define EXT3_IOC32_GROUP_EXTEND _IOW('f', 7, unsigned int)
144#ifdef CONFIG_JBD_DEBUG
145#define EXT3_IOC32_WAIT_FOR_READONLY _IOR('f', 99, int)
146#endif
147
137#define EXT2_IOC32_GETVERSION _IOR('v', 1, int) 148#define EXT2_IOC32_GETVERSION _IOR('v', 1, int)
138#define EXT2_IOC32_SETVERSION _IOW('v', 2, int) 149#define EXT2_IOC32_SETVERSION _IOW('v', 2, int)
139 150
@@ -180,6 +191,22 @@ static int do_ext2_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg)
180 return sys_ioctl(fd, cmd, (unsigned long)compat_ptr(arg)); 191 return sys_ioctl(fd, cmd, (unsigned long)compat_ptr(arg));
181} 192}
182 193
194static int do_ext3_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg)
195{
196 /* These are just misnamed, they actually get/put from/to user an int */
197 switch (cmd) {
198 case EXT3_IOC32_GETVERSION: cmd = EXT3_IOC_GETVERSION; break;
199 case EXT3_IOC32_SETVERSION: cmd = EXT3_IOC_SETVERSION; break;
200 case EXT3_IOC32_GETRSVSZ: cmd = EXT3_IOC_GETRSVSZ; break;
201 case EXT3_IOC32_SETRSVSZ: cmd = EXT3_IOC_SETRSVSZ; break;
202 case EXT3_IOC32_GROUP_EXTEND: cmd = EXT3_IOC_GROUP_EXTEND; break;
203#ifdef CONFIG_JBD_DEBUG
204 case EXT3_IOC32_WAIT_FOR_READONLY: cmd = EXT3_IOC_WAIT_FOR_READONLY; break;
205#endif
206 }
207 return sys_ioctl(fd, cmd, (unsigned long)compat_ptr(arg));
208}
209
183struct video_tuner32 { 210struct video_tuner32 {
184 compat_int_t tuner; 211 compat_int_t tuner;
185 char name[32]; 212 char name[32];
@@ -2981,6 +3008,15 @@ HANDLE_IOCTL(EXT2_IOC32_GETFLAGS, do_ext2_ioctl)
2981HANDLE_IOCTL(EXT2_IOC32_SETFLAGS, do_ext2_ioctl) 3008HANDLE_IOCTL(EXT2_IOC32_SETFLAGS, do_ext2_ioctl)
2982HANDLE_IOCTL(EXT2_IOC32_GETVERSION, do_ext2_ioctl) 3009HANDLE_IOCTL(EXT2_IOC32_GETVERSION, do_ext2_ioctl)
2983HANDLE_IOCTL(EXT2_IOC32_SETVERSION, do_ext2_ioctl) 3010HANDLE_IOCTL(EXT2_IOC32_SETVERSION, do_ext2_ioctl)
3011HANDLE_IOCTL(EXT3_IOC32_GETVERSION, do_ext3_ioctl)
3012HANDLE_IOCTL(EXT3_IOC32_SETVERSION, do_ext3_ioctl)
3013HANDLE_IOCTL(EXT3_IOC32_GETRSVSZ, do_ext3_ioctl)
3014HANDLE_IOCTL(EXT3_IOC32_SETRSVSZ, do_ext3_ioctl)
3015HANDLE_IOCTL(EXT3_IOC32_GROUP_EXTEND, do_ext3_ioctl)
3016COMPATIBLE_IOCTL(EXT3_IOC_GROUP_ADD)
3017#ifdef CONFIG_JBD_DEBUG
3018HANDLE_IOCTL(EXT3_IOC32_WAIT_FOR_READONLY, do_ext3_ioctl)
3019#endif
2984HANDLE_IOCTL(VIDIOCGTUNER32, do_video_ioctl) 3020HANDLE_IOCTL(VIDIOCGTUNER32, do_video_ioctl)
2985HANDLE_IOCTL(VIDIOCSTUNER32, do_video_ioctl) 3021HANDLE_IOCTL(VIDIOCSTUNER32, do_video_ioctl)
2986HANDLE_IOCTL(VIDIOCGWIN32, do_video_ioctl) 3022HANDLE_IOCTL(VIDIOCGWIN32, do_video_ioctl)
diff --git a/include/asm-powerpc/cputable.h b/include/asm-powerpc/cputable.h
index 04e2726002cf..d1cfa3f515ea 100644
--- a/include/asm-powerpc/cputable.h
+++ b/include/asm-powerpc/cputable.h
@@ -90,6 +90,7 @@ extern void do_cpu_ftr_fixups(unsigned long offset);
90#define CPU_FTR_NEED_COHERENT ASM_CONST(0x0000000000020000) 90#define CPU_FTR_NEED_COHERENT ASM_CONST(0x0000000000020000)
91#define CPU_FTR_NO_BTIC ASM_CONST(0x0000000000040000) 91#define CPU_FTR_NO_BTIC ASM_CONST(0x0000000000040000)
92#define CPU_FTR_BIG_PHYS ASM_CONST(0x0000000000080000) 92#define CPU_FTR_BIG_PHYS ASM_CONST(0x0000000000080000)
93#define CPU_FTR_NODSISRALIGN ASM_CONST(0x0000000000100000)
93 94
94#ifdef __powerpc64__ 95#ifdef __powerpc64__
95/* Add the 64b processor unique features in the top half of the word */ 96/* Add the 64b processor unique features in the top half of the word */
@@ -97,7 +98,6 @@ extern void do_cpu_ftr_fixups(unsigned long offset);
97#define CPU_FTR_16M_PAGE ASM_CONST(0x0000000200000000) 98#define CPU_FTR_16M_PAGE ASM_CONST(0x0000000200000000)
98#define CPU_FTR_TLBIEL ASM_CONST(0x0000000400000000) 99#define CPU_FTR_TLBIEL ASM_CONST(0x0000000400000000)
99#define CPU_FTR_NOEXECUTE ASM_CONST(0x0000000800000000) 100#define CPU_FTR_NOEXECUTE ASM_CONST(0x0000000800000000)
100#define CPU_FTR_NODSISRALIGN ASM_CONST(0x0000001000000000)
101#define CPU_FTR_IABR ASM_CONST(0x0000002000000000) 101#define CPU_FTR_IABR ASM_CONST(0x0000002000000000)
102#define CPU_FTR_MMCRA ASM_CONST(0x0000004000000000) 102#define CPU_FTR_MMCRA ASM_CONST(0x0000004000000000)
103#define CPU_FTR_CTRL ASM_CONST(0x0000008000000000) 103#define CPU_FTR_CTRL ASM_CONST(0x0000008000000000)
@@ -113,7 +113,6 @@ extern void do_cpu_ftr_fixups(unsigned long offset);
113#define CPU_FTR_16M_PAGE ASM_CONST(0x0) 113#define CPU_FTR_16M_PAGE ASM_CONST(0x0)
114#define CPU_FTR_TLBIEL ASM_CONST(0x0) 114#define CPU_FTR_TLBIEL ASM_CONST(0x0)
115#define CPU_FTR_NOEXECUTE ASM_CONST(0x0) 115#define CPU_FTR_NOEXECUTE ASM_CONST(0x0)
116#define CPU_FTR_NODSISRALIGN ASM_CONST(0x0)
117#define CPU_FTR_IABR ASM_CONST(0x0) 116#define CPU_FTR_IABR ASM_CONST(0x0)
118#define CPU_FTR_MMCRA ASM_CONST(0x0) 117#define CPU_FTR_MMCRA ASM_CONST(0x0)
119#define CPU_FTR_CTRL ASM_CONST(0x0) 118#define CPU_FTR_CTRL ASM_CONST(0x0)
@@ -273,18 +272,21 @@ enum {
273 CPU_FTRS_POWER3_32 = CPU_FTR_COMMON | CPU_FTR_SPLIT_ID_CACHE | 272 CPU_FTRS_POWER3_32 = CPU_FTR_COMMON | CPU_FTR_SPLIT_ID_CACHE |
274 CPU_FTR_USE_TB | CPU_FTR_HPTE_TABLE, 273 CPU_FTR_USE_TB | CPU_FTR_HPTE_TABLE,
275 CPU_FTRS_POWER4_32 = CPU_FTR_COMMON | CPU_FTR_SPLIT_ID_CACHE | 274 CPU_FTRS_POWER4_32 = CPU_FTR_COMMON | CPU_FTR_SPLIT_ID_CACHE |
276 CPU_FTR_USE_TB | CPU_FTR_HPTE_TABLE, 275 CPU_FTR_USE_TB | CPU_FTR_HPTE_TABLE | CPU_FTR_NODSISRALIGN,
277 CPU_FTRS_970_32 = CPU_FTR_COMMON | CPU_FTR_SPLIT_ID_CACHE | 276 CPU_FTRS_970_32 = CPU_FTR_COMMON | CPU_FTR_SPLIT_ID_CACHE |
278 CPU_FTR_USE_TB | CPU_FTR_HPTE_TABLE | CPU_FTR_ALTIVEC_COMP | 277 CPU_FTR_USE_TB | CPU_FTR_HPTE_TABLE | CPU_FTR_ALTIVEC_COMP |
279 CPU_FTR_MAYBE_CAN_NAP, 278 CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_NODSISRALIGN,
280 CPU_FTRS_8XX = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB, 279 CPU_FTRS_8XX = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB,
281 CPU_FTRS_40X = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB, 280 CPU_FTRS_40X = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB |
282 CPU_FTRS_44X = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB, 281 CPU_FTR_NODSISRALIGN,
283 CPU_FTRS_E200 = CPU_FTR_USE_TB, 282 CPU_FTRS_44X = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB |
284 CPU_FTRS_E500 = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB, 283 CPU_FTR_NODSISRALIGN,
284 CPU_FTRS_E200 = CPU_FTR_USE_TB | CPU_FTR_NODSISRALIGN,
285 CPU_FTRS_E500 = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB |
286 CPU_FTR_NODSISRALIGN,
285 CPU_FTRS_E500_2 = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | 287 CPU_FTRS_E500_2 = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB |
286 CPU_FTR_BIG_PHYS, 288 CPU_FTR_BIG_PHYS | CPU_FTR_NODSISRALIGN,
287 CPU_FTRS_GENERIC_32 = CPU_FTR_COMMON, 289 CPU_FTRS_GENERIC_32 = CPU_FTR_COMMON | CPU_FTR_NODSISRALIGN,
288#ifdef __powerpc64__ 290#ifdef __powerpc64__
289 CPU_FTRS_POWER3 = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | 291 CPU_FTRS_POWER3 = CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB |
290 CPU_FTR_HPTE_TABLE | CPU_FTR_IABR, 292 CPU_FTR_HPTE_TABLE | CPU_FTR_IABR,
diff --git a/include/asm-powerpc/delay.h b/include/asm-powerpc/delay.h
index 1492aa9ab716..54fe1f4f8fd0 100644
--- a/include/asm-powerpc/delay.h
+++ b/include/asm-powerpc/delay.h
@@ -13,43 +13,7 @@
13 * Anton Blanchard. 13 * Anton Blanchard.
14 */ 14 */
15 15
16extern unsigned long tb_ticks_per_usec; 16extern void __delay(unsigned long loops);
17 17extern void udelay(unsigned long usecs);
18#ifdef CONFIG_PPC64
19/* define these here to prevent circular dependencies */
20/* these instructions control the thread priority on multi-threaded cpus */
21#define __HMT_low() asm volatile("or 1,1,1")
22#define __HMT_medium() asm volatile("or 2,2,2")
23#else
24#define __HMT_low()
25#define __HMT_medium()
26#endif
27
28#define __barrier() asm volatile("" ::: "memory")
29
30static inline unsigned long __get_tb(void)
31{
32 unsigned long rval;
33
34 asm volatile("mftb %0" : "=r" (rval));
35 return rval;
36}
37
38static inline void __delay(unsigned long loops)
39{
40 unsigned long start = __get_tb();
41
42 while((__get_tb() - start) < loops)
43 __HMT_low();
44 __HMT_medium();
45 __barrier();
46}
47
48static inline void udelay(unsigned long usecs)
49{
50 unsigned long loops = tb_ticks_per_usec * usecs;
51
52 __delay(loops);
53}
54 18
55#endif /* _ASM_POWERPC_DELAY_H */ 19#endif /* _ASM_POWERPC_DELAY_H */
diff --git a/include/asm-powerpc/eeh.h b/include/asm-powerpc/eeh.h
index 89f26ab31908..f8633aafe4ba 100644
--- a/include/asm-powerpc/eeh.h
+++ b/include/asm-powerpc/eeh.h
@@ -30,6 +30,8 @@ struct device_node;
30 30
31#ifdef CONFIG_EEH 31#ifdef CONFIG_EEH
32 32
33extern int eeh_subsystem_enabled;
34
33/* Values for eeh_mode bits in device_node */ 35/* Values for eeh_mode bits in device_node */
34#define EEH_MODE_SUPPORTED (1<<0) 36#define EEH_MODE_SUPPORTED (1<<0)
35#define EEH_MODE_NOCHECK (1<<1) 37#define EEH_MODE_NOCHECK (1<<1)
@@ -75,7 +77,7 @@ void eeh_remove_device(struct pci_dev *);
75 * If this macro yields TRUE, the caller relays to eeh_check_failure() 77 * If this macro yields TRUE, the caller relays to eeh_check_failure()
76 * which does further tests out of line. 78 * which does further tests out of line.
77 */ 79 */
78#define EEH_POSSIBLE_ERROR(val, type) ((val) == (type)~0) 80#define EEH_POSSIBLE_ERROR(val, type) ((val) == (type)~0 && eeh_subsystem_enabled)
79 81
80/* 82/*
81 * Reads from a device which has been isolated by EEH will return 83 * Reads from a device which has been isolated by EEH will return
diff --git a/include/asm-powerpc/page_64.h b/include/asm-powerpc/page_64.h
index c16f106b5373..1e6e7846824f 100644
--- a/include/asm-powerpc/page_64.h
+++ b/include/asm-powerpc/page_64.h
@@ -86,7 +86,11 @@ static inline void copy_page(void *to, void *from)
86extern u64 ppc64_pft_size; 86extern u64 ppc64_pft_size;
87 87
88/* Large pages size */ 88/* Large pages size */
89#ifdef CONFIG_HUGETLB_PAGE
89extern unsigned int HPAGE_SHIFT; 90extern unsigned int HPAGE_SHIFT;
91#else
92#define HPAGE_SHIFT PAGE_SHIFT
93#endif
90#define HPAGE_SIZE ((1UL) << HPAGE_SHIFT) 94#define HPAGE_SIZE ((1UL) << HPAGE_SHIFT)
91#define HPAGE_MASK (~(HPAGE_SIZE - 1)) 95#define HPAGE_MASK (~(HPAGE_SIZE - 1))
92#define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) 96#define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT)
diff --git a/include/asm-powerpc/topology.h b/include/asm-powerpc/topology.h
index 015d28746e1b..db8095cbe09b 100644
--- a/include/asm-powerpc/topology.h
+++ b/include/asm-powerpc/topology.h
@@ -41,6 +41,10 @@ static inline int node_to_first_cpu(int node)
41 .cache_hot_time = (10*1000000), \ 41 .cache_hot_time = (10*1000000), \
42 .cache_nice_tries = 1, \ 42 .cache_nice_tries = 1, \
43 .per_cpu_gain = 100, \ 43 .per_cpu_gain = 100, \
44 .busy_idx = 3, \
45 .idle_idx = 1, \
46 .newidle_idx = 2, \
47 .wake_idx = 1, \
44 .flags = SD_LOAD_BALANCE \ 48 .flags = SD_LOAD_BALANCE \
45 | SD_BALANCE_EXEC \ 49 | SD_BALANCE_EXEC \
46 | SD_BALANCE_NEWIDLE \ 50 | SD_BALANCE_NEWIDLE \
diff --git a/include/asm-ppc/cpm2.h b/include/asm-ppc/cpm2.h
index 43d2ebbc7748..b638b87cebe3 100644
--- a/include/asm-ppc/cpm2.h
+++ b/include/asm-ppc/cpm2.h
@@ -1091,5 +1091,7 @@ typedef struct im_idma {
1091#define CPM_IMMR_OFFSET 0x101a8 1091#define CPM_IMMR_OFFSET 0x101a8
1092#endif 1092#endif
1093 1093
1094#define FCC_PSMR_RMII ((uint)0x00020000) /* Use RMII interface */
1095
1094#endif /* __CPM2__ */ 1096#endif /* __CPM2__ */
1095#endif /* __KERNEL__ */ 1097#endif /* __KERNEL__ */
diff --git a/include/net/ieee80211.h b/include/net/ieee80211.h
index b93fd8c1d884..cde2f4f4f501 100644
--- a/include/net/ieee80211.h
+++ b/include/net/ieee80211.h
@@ -1042,7 +1042,7 @@ static inline u8 *ieee80211_get_payload(struct ieee80211_hdr *hdr)
1042 case IEEE80211_4ADDR_LEN: 1042 case IEEE80211_4ADDR_LEN:
1043 return ((struct ieee80211_hdr_4addr *)hdr)->payload; 1043 return ((struct ieee80211_hdr_4addr *)hdr)->payload;
1044 } 1044 }
1045 1045 return NULL;
1046} 1046}
1047 1047
1048static inline int ieee80211_is_ofdm_rate(u8 rate) 1048static inline int ieee80211_is_ofdm_rate(u8 rate)
diff --git a/kernel/rcutorture.c b/kernel/rcutorture.c
index eb6719c50b4e..88c28d476550 100644
--- a/kernel/rcutorture.c
+++ b/kernel/rcutorture.c
@@ -80,6 +80,7 @@ struct rcu_torture {
80 struct rcu_head rtort_rcu; 80 struct rcu_head rtort_rcu;
81 int rtort_pipe_count; 81 int rtort_pipe_count;
82 struct list_head rtort_free; 82 struct list_head rtort_free;
83 int rtort_mbtest;
83}; 84};
84 85
85static int fullstop = 0; /* stop generating callbacks at test end. */ 86static int fullstop = 0; /* stop generating callbacks at test end. */
@@ -96,6 +97,8 @@ static atomic_t rcu_torture_wcount[RCU_TORTURE_PIPE_LEN + 1];
96atomic_t n_rcu_torture_alloc; 97atomic_t n_rcu_torture_alloc;
97atomic_t n_rcu_torture_alloc_fail; 98atomic_t n_rcu_torture_alloc_fail;
98atomic_t n_rcu_torture_free; 99atomic_t n_rcu_torture_free;
100atomic_t n_rcu_torture_mberror;
101atomic_t n_rcu_torture_error;
99 102
100/* 103/*
101 * Allocate an element from the rcu_tortures pool. 104 * Allocate an element from the rcu_tortures pool.
@@ -145,9 +148,10 @@ rcu_torture_cb(struct rcu_head *p)
145 if (i > RCU_TORTURE_PIPE_LEN) 148 if (i > RCU_TORTURE_PIPE_LEN)
146 i = RCU_TORTURE_PIPE_LEN; 149 i = RCU_TORTURE_PIPE_LEN;
147 atomic_inc(&rcu_torture_wcount[i]); 150 atomic_inc(&rcu_torture_wcount[i]);
148 if (++rp->rtort_pipe_count >= RCU_TORTURE_PIPE_LEN) 151 if (++rp->rtort_pipe_count >= RCU_TORTURE_PIPE_LEN) {
152 rp->rtort_mbtest = 0;
149 rcu_torture_free(rp); 153 rcu_torture_free(rp);
150 else 154 } else
151 call_rcu(p, rcu_torture_cb); 155 call_rcu(p, rcu_torture_cb);
152} 156}
153 157
@@ -206,6 +210,7 @@ rcu_torture_writer(void *arg)
206 rp->rtort_pipe_count = 0; 210 rp->rtort_pipe_count = 0;
207 udelay(rcu_random(&rand) & 0x3ff); 211 udelay(rcu_random(&rand) & 0x3ff);
208 old_rp = rcu_torture_current; 212 old_rp = rcu_torture_current;
213 rp->rtort_mbtest = 1;
209 rcu_assign_pointer(rcu_torture_current, rp); 214 rcu_assign_pointer(rcu_torture_current, rp);
210 smp_wmb(); 215 smp_wmb();
211 if (old_rp != NULL) { 216 if (old_rp != NULL) {
@@ -252,6 +257,8 @@ rcu_torture_reader(void *arg)
252 schedule_timeout_interruptible(HZ); 257 schedule_timeout_interruptible(HZ);
253 continue; 258 continue;
254 } 259 }
260 if (p->rtort_mbtest == 0)
261 atomic_inc(&n_rcu_torture_mberror);
255 udelay(rcu_random(&rand) & 0x7f); 262 udelay(rcu_random(&rand) & 0x7f);
256 preempt_disable(); 263 preempt_disable();
257 pipe_count = p->rtort_pipe_count; 264 pipe_count = p->rtort_pipe_count;
@@ -300,16 +307,22 @@ rcu_torture_printk(char *page)
300 } 307 }
301 cnt += sprintf(&page[cnt], "rcutorture: "); 308 cnt += sprintf(&page[cnt], "rcutorture: ");
302 cnt += sprintf(&page[cnt], 309 cnt += sprintf(&page[cnt],
303 "rtc: %p ver: %ld tfle: %d rta: %d rtaf: %d rtf: %d", 310 "rtc: %p ver: %ld tfle: %d rta: %d rtaf: %d rtf: %d "
311 "rtmbe: %d",
304 rcu_torture_current, 312 rcu_torture_current,
305 rcu_torture_current_version, 313 rcu_torture_current_version,
306 list_empty(&rcu_torture_freelist), 314 list_empty(&rcu_torture_freelist),
307 atomic_read(&n_rcu_torture_alloc), 315 atomic_read(&n_rcu_torture_alloc),
308 atomic_read(&n_rcu_torture_alloc_fail), 316 atomic_read(&n_rcu_torture_alloc_fail),
309 atomic_read(&n_rcu_torture_free)); 317 atomic_read(&n_rcu_torture_free),
318 atomic_read(&n_rcu_torture_mberror));
319 if (atomic_read(&n_rcu_torture_mberror) != 0)
320 cnt += sprintf(&page[cnt], " !!!");
310 cnt += sprintf(&page[cnt], "\nrcutorture: "); 321 cnt += sprintf(&page[cnt], "\nrcutorture: ");
311 if (i > 1) 322 if (i > 1) {
312 cnt += sprintf(&page[cnt], "!!! "); 323 cnt += sprintf(&page[cnt], "!!! ");
324 atomic_inc(&n_rcu_torture_error);
325 }
313 cnt += sprintf(&page[cnt], "Reader Pipe: "); 326 cnt += sprintf(&page[cnt], "Reader Pipe: ");
314 for (i = 0; i < RCU_TORTURE_PIPE_LEN + 1; i++) 327 for (i = 0; i < RCU_TORTURE_PIPE_LEN + 1; i++)
315 cnt += sprintf(&page[cnt], " %ld", pipesummary[i]); 328 cnt += sprintf(&page[cnt], " %ld", pipesummary[i]);
@@ -400,7 +413,9 @@ rcu_torture_cleanup(void)
400 for (i = 0; i < RCU_TORTURE_PIPE_LEN; i++) 413 for (i = 0; i < RCU_TORTURE_PIPE_LEN; i++)
401 synchronize_rcu(); 414 synchronize_rcu();
402 rcu_torture_stats_print(); /* -After- the stats thread is stopped! */ 415 rcu_torture_stats_print(); /* -After- the stats thread is stopped! */
403 PRINTK_STRING("--- End of test"); 416 printk(KERN_ALERT TORTURE_FLAG
417 "--- End of test: %s\n",
418 atomic_read(&n_rcu_torture_error) == 0 ? "SUCCESS" : "FAILURE");
404} 419}
405 420
406static int 421static int
@@ -425,6 +440,7 @@ rcu_torture_init(void)
425 440
426 INIT_LIST_HEAD(&rcu_torture_freelist); 441 INIT_LIST_HEAD(&rcu_torture_freelist);
427 for (i = 0; i < sizeof(rcu_tortures) / sizeof(rcu_tortures[0]); i++) { 442 for (i = 0; i < sizeof(rcu_tortures) / sizeof(rcu_tortures[0]); i++) {
443 rcu_tortures[i].rtort_mbtest = 0;
428 list_add_tail(&rcu_tortures[i].rtort_free, 444 list_add_tail(&rcu_tortures[i].rtort_free,
429 &rcu_torture_freelist); 445 &rcu_torture_freelist);
430 } 446 }
@@ -436,6 +452,8 @@ rcu_torture_init(void)
436 atomic_set(&n_rcu_torture_alloc, 0); 452 atomic_set(&n_rcu_torture_alloc, 0);
437 atomic_set(&n_rcu_torture_alloc_fail, 0); 453 atomic_set(&n_rcu_torture_alloc_fail, 0);
438 atomic_set(&n_rcu_torture_free, 0); 454 atomic_set(&n_rcu_torture_free, 0);
455 atomic_set(&n_rcu_torture_mberror, 0);
456 atomic_set(&n_rcu_torture_error, 0);
439 for (i = 0; i < RCU_TORTURE_PIPE_LEN + 1; i++) 457 for (i = 0; i < RCU_TORTURE_PIPE_LEN + 1; i++)
440 atomic_set(&rcu_torture_wcount[i], 0); 458 atomic_set(&rcu_torture_wcount[i], 0);
441 for_each_cpu(cpu) { 459 for_each_cpu(cpu) {
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index 74138c9a22b9..0166ea15c9ee 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -750,6 +750,7 @@ int clear_page_dirty_for_io(struct page *page)
750 } 750 }
751 return TestClearPageDirty(page); 751 return TestClearPageDirty(page);
752} 752}
753EXPORT_SYMBOL(clear_page_dirty_for_io);
753 754
754int test_clear_page_writeback(struct page *page) 755int test_clear_page_writeback(struct page *page)
755{ 756{
diff --git a/net/ipv4/netfilter/ip_conntrack_ftp.c b/net/ipv4/netfilter/ip_conntrack_ftp.c
index d77d6b3f5f80..59e12b02b22c 100644
--- a/net/ipv4/netfilter/ip_conntrack_ftp.c
+++ b/net/ipv4/netfilter/ip_conntrack_ftp.c
@@ -29,9 +29,9 @@ static char *ftp_buffer;
29static DEFINE_SPINLOCK(ip_ftp_lock); 29static DEFINE_SPINLOCK(ip_ftp_lock);
30 30
31#define MAX_PORTS 8 31#define MAX_PORTS 8
32static short ports[MAX_PORTS]; 32static unsigned short ports[MAX_PORTS];
33static int ports_c; 33static int ports_c;
34module_param_array(ports, short, &ports_c, 0400); 34module_param_array(ports, ushort, &ports_c, 0400);
35 35
36static int loose; 36static int loose;
37module_param(loose, int, 0600); 37module_param(loose, int, 0600);
diff --git a/net/ipv4/netfilter/ip_conntrack_irc.c b/net/ipv4/netfilter/ip_conntrack_irc.c
index 15457415a4f3..2dea1db14406 100644
--- a/net/ipv4/netfilter/ip_conntrack_irc.c
+++ b/net/ipv4/netfilter/ip_conntrack_irc.c
@@ -34,7 +34,7 @@
34#include <linux/moduleparam.h> 34#include <linux/moduleparam.h>
35 35
36#define MAX_PORTS 8 36#define MAX_PORTS 8
37static short ports[MAX_PORTS]; 37static unsigned short ports[MAX_PORTS];
38static int ports_c; 38static int ports_c;
39static int max_dcc_channels = 8; 39static int max_dcc_channels = 8;
40static unsigned int dcc_timeout = 300; 40static unsigned int dcc_timeout = 300;
@@ -52,7 +52,7 @@ EXPORT_SYMBOL_GPL(ip_nat_irc_hook);
52MODULE_AUTHOR("Harald Welte <laforge@netfilter.org>"); 52MODULE_AUTHOR("Harald Welte <laforge@netfilter.org>");
53MODULE_DESCRIPTION("IRC (DCC) connection tracking helper"); 53MODULE_DESCRIPTION("IRC (DCC) connection tracking helper");
54MODULE_LICENSE("GPL"); 54MODULE_LICENSE("GPL");
55module_param_array(ports, short, &ports_c, 0400); 55module_param_array(ports, ushort, &ports_c, 0400);
56MODULE_PARM_DESC(ports, "port numbers of IRC servers"); 56MODULE_PARM_DESC(ports, "port numbers of IRC servers");
57module_param(max_dcc_channels, int, 0400); 57module_param(max_dcc_channels, int, 0400);
58MODULE_PARM_DESC(max_dcc_channels, "max number of expected DCC channels per IRC session"); 58MODULE_PARM_DESC(max_dcc_channels, "max number of expected DCC channels per IRC session");
diff --git a/net/ipv4/netfilter/ip_conntrack_tftp.c b/net/ipv4/netfilter/ip_conntrack_tftp.c
index a78736b8525d..d3c5a371f993 100644
--- a/net/ipv4/netfilter/ip_conntrack_tftp.c
+++ b/net/ipv4/netfilter/ip_conntrack_tftp.c
@@ -26,9 +26,9 @@ MODULE_DESCRIPTION("tftp connection tracking helper");
26MODULE_LICENSE("GPL"); 26MODULE_LICENSE("GPL");
27 27
28#define MAX_PORTS 8 28#define MAX_PORTS 8
29static short ports[MAX_PORTS]; 29static unsigned short ports[MAX_PORTS];
30static int ports_c; 30static int ports_c;
31module_param_array(ports, short, &ports_c, 0400); 31module_param_array(ports, ushort, &ports_c, 0400);
32MODULE_PARM_DESC(ports, "port numbers of tftp servers"); 32MODULE_PARM_DESC(ports, "port numbers of tftp servers");
33 33
34#if 0 34#if 0
diff --git a/net/ipv4/tcp_highspeed.c b/net/ipv4/tcp_highspeed.c
index 82b3c189bd7d..63cf7e540847 100644
--- a/net/ipv4/tcp_highspeed.c
+++ b/net/ipv4/tcp_highspeed.c
@@ -111,7 +111,7 @@ static void hstcp_init(struct sock *sk)
111} 111}
112 112
113static void hstcp_cong_avoid(struct sock *sk, u32 adk, u32 rtt, 113static void hstcp_cong_avoid(struct sock *sk, u32 adk, u32 rtt,
114 u32 in_flight, u32 pkts_acked) 114 u32 in_flight, int data_acked)
115{ 115{
116 struct tcp_sock *tp = tcp_sk(sk); 116 struct tcp_sock *tp = tcp_sk(sk);
117 struct hstcp *ca = inet_csk_ca(sk); 117 struct hstcp *ca = inet_csk_ca(sk);
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index 9a71a8d1078a..a7a537b50595 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -1732,7 +1732,7 @@ int inet6_dump_fib(struct sk_buff *skb, struct netlink_callback *cb)
1732 /* 1732 /*
1733 * 2. allocate and initialize walker. 1733 * 2. allocate and initialize walker.
1734 */ 1734 */
1735 w = kmalloc(sizeof(*w), GFP_KERNEL); 1735 w = kmalloc(sizeof(*w), GFP_ATOMIC);
1736 if (w == NULL) 1736 if (w == NULL)
1737 return -ENOMEM; 1737 return -ENOMEM;
1738 RT6_TRACE("dump<%p", w); 1738 RT6_TRACE("dump<%p", w);
diff --git a/net/llc/llc_c_ac.c b/net/llc/llc_c_ac.c
index 91fb6bc1b116..8169f24ed33e 100644
--- a/net/llc/llc_c_ac.c
+++ b/net/llc/llc_c_ac.c
@@ -995,8 +995,8 @@ static int llc_conn_ac_inc_npta_value(struct sock *sk, struct sk_buff *skb)
995 llc->dec_step = 0; 995 llc->dec_step = 0;
996 llc->dec_cntr = llc->inc_cntr = 2; 996 llc->dec_cntr = llc->inc_cntr = 2;
997 ++llc->npta; 997 ++llc->npta;
998 if (llc->npta > ~LLC_2_SEQ_NBR_MODULO) 998 if (llc->npta > (u8) ~LLC_2_SEQ_NBR_MODULO)
999 llc->npta = ~LLC_2_SEQ_NBR_MODULO ; 999 llc->npta = (u8) ~LLC_2_SEQ_NBR_MODULO;
1000 } else 1000 } else
1001 --llc->inc_cntr; 1001 --llc->inc_cntr;
1002 return 0; 1002 return 0;
@@ -1086,8 +1086,8 @@ int llc_conn_ac_inc_tx_win_size(struct sock *sk, struct sk_buff *skb)
1086 struct llc_sock *llc = llc_sk(sk); 1086 struct llc_sock *llc = llc_sk(sk);
1087 1087
1088 llc->k += 1; 1088 llc->k += 1;
1089 if (llc->k > ~LLC_2_SEQ_NBR_MODULO) 1089 if (llc->k > (u8) ~LLC_2_SEQ_NBR_MODULO)
1090 llc->k = ~LLC_2_SEQ_NBR_MODULO ; 1090 llc->k = (u8) ~LLC_2_SEQ_NBR_MODULO;
1091 return 0; 1091 return 0;
1092} 1092}
1093 1093
diff --git a/net/sched/Kconfig b/net/sched/Kconfig
index 7f34e7fd767c..55cd5327fbd7 100644
--- a/net/sched/Kconfig
+++ b/net/sched/Kconfig
@@ -40,9 +40,10 @@ config NET_SCHED
40 The available schedulers are listed in the following questions; you 40 The available schedulers are listed in the following questions; you
41 can say Y to as many as you like. If unsure, say N now. 41 can say Y to as many as you like. If unsure, say N now.
42 42
43if NET_SCHED
44
43choice 45choice
44 prompt "Packet scheduler clock source" 46 prompt "Packet scheduler clock source"
45 depends on NET_SCHED
46 default NET_SCH_CLK_JIFFIES 47 default NET_SCH_CLK_JIFFIES
47 ---help--- 48 ---help---
48 Packet schedulers need a monotonic clock that increments at a static 49 Packet schedulers need a monotonic clock that increments at a static
@@ -98,11 +99,9 @@ config NET_SCH_CLK_CPU
98endchoice 99endchoice
99 100
100comment "Queueing/Scheduling" 101comment "Queueing/Scheduling"
101 depends on NET_SCHED
102 102
103config NET_SCH_CBQ 103config NET_SCH_CBQ
104 tristate "Class Based Queueing (CBQ)" 104 tristate "Class Based Queueing (CBQ)"
105 depends on NET_SCHED
106 ---help--- 105 ---help---
107 Say Y here if you want to use the Class-Based Queueing (CBQ) packet 106 Say Y here if you want to use the Class-Based Queueing (CBQ) packet
108 scheduling algorithm. This algorithm classifies the waiting packets 107 scheduling algorithm. This algorithm classifies the waiting packets
@@ -120,7 +119,6 @@ config NET_SCH_CBQ
120 119
121config NET_SCH_HTB 120config NET_SCH_HTB
122 tristate "Hierarchical Token Bucket (HTB)" 121 tristate "Hierarchical Token Bucket (HTB)"
123 depends on NET_SCHED
124 ---help--- 122 ---help---
125 Say Y here if you want to use the Hierarchical Token Buckets (HTB) 123 Say Y here if you want to use the Hierarchical Token Buckets (HTB)
126 packet scheduling algorithm. See 124 packet scheduling algorithm. See
@@ -135,7 +133,6 @@ config NET_SCH_HTB
135 133
136config NET_SCH_HFSC 134config NET_SCH_HFSC
137 tristate "Hierarchical Fair Service Curve (HFSC)" 135 tristate "Hierarchical Fair Service Curve (HFSC)"
138 depends on NET_SCHED
139 ---help--- 136 ---help---
140 Say Y here if you want to use the Hierarchical Fair Service Curve 137 Say Y here if you want to use the Hierarchical Fair Service Curve
141 (HFSC) packet scheduling algorithm. 138 (HFSC) packet scheduling algorithm.
@@ -145,7 +142,7 @@ config NET_SCH_HFSC
145 142
146config NET_SCH_ATM 143config NET_SCH_ATM
147 tristate "ATM Virtual Circuits (ATM)" 144 tristate "ATM Virtual Circuits (ATM)"
148 depends on NET_SCHED && ATM 145 depends on ATM
149 ---help--- 146 ---help---
150 Say Y here if you want to use the ATM pseudo-scheduler. This 147 Say Y here if you want to use the ATM pseudo-scheduler. This
151 provides a framework for invoking classifiers, which in turn 148 provides a framework for invoking classifiers, which in turn
@@ -159,7 +156,6 @@ config NET_SCH_ATM
159 156
160config NET_SCH_PRIO 157config NET_SCH_PRIO
161 tristate "Multi Band Priority Queueing (PRIO)" 158 tristate "Multi Band Priority Queueing (PRIO)"
162 depends on NET_SCHED
163 ---help--- 159 ---help---
164 Say Y here if you want to use an n-band priority queue packet 160 Say Y here if you want to use an n-band priority queue packet
165 scheduler. 161 scheduler.
@@ -169,7 +165,6 @@ config NET_SCH_PRIO
169 165
170config NET_SCH_RED 166config NET_SCH_RED
171 tristate "Random Early Detection (RED)" 167 tristate "Random Early Detection (RED)"
172 depends on NET_SCHED
173 ---help--- 168 ---help---
174 Say Y here if you want to use the Random Early Detection (RED) 169 Say Y here if you want to use the Random Early Detection (RED)
175 packet scheduling algorithm. 170 packet scheduling algorithm.
@@ -181,7 +176,6 @@ config NET_SCH_RED
181 176
182config NET_SCH_SFQ 177config NET_SCH_SFQ
183 tristate "Stochastic Fairness Queueing (SFQ)" 178 tristate "Stochastic Fairness Queueing (SFQ)"
184 depends on NET_SCHED
185 ---help--- 179 ---help---
186 Say Y here if you want to use the Stochastic Fairness Queueing (SFQ) 180 Say Y here if you want to use the Stochastic Fairness Queueing (SFQ)
187 packet scheduling algorithm . 181 packet scheduling algorithm .
@@ -193,7 +187,6 @@ config NET_SCH_SFQ
193 187
194config NET_SCH_TEQL 188config NET_SCH_TEQL
195 tristate "True Link Equalizer (TEQL)" 189 tristate "True Link Equalizer (TEQL)"
196 depends on NET_SCHED
197 ---help--- 190 ---help---
198 Say Y here if you want to use the True Link Equalizer (TLE) packet 191 Say Y here if you want to use the True Link Equalizer (TLE) packet
199 scheduling algorithm. This queueing discipline allows the combination 192 scheduling algorithm. This queueing discipline allows the combination
@@ -206,7 +199,6 @@ config NET_SCH_TEQL
206 199
207config NET_SCH_TBF 200config NET_SCH_TBF
208 tristate "Token Bucket Filter (TBF)" 201 tristate "Token Bucket Filter (TBF)"
209 depends on NET_SCHED
210 ---help--- 202 ---help---
211 Say Y here if you want to use the Token Bucket Filter (TBF) packet 203 Say Y here if you want to use the Token Bucket Filter (TBF) packet
212 scheduling algorithm. 204 scheduling algorithm.
@@ -218,7 +210,6 @@ config NET_SCH_TBF
218 210
219config NET_SCH_GRED 211config NET_SCH_GRED
220 tristate "Generic Random Early Detection (GRED)" 212 tristate "Generic Random Early Detection (GRED)"
221 depends on NET_SCHED
222 ---help--- 213 ---help---
223 Say Y here if you want to use the Generic Random Early Detection 214 Say Y here if you want to use the Generic Random Early Detection
224 (GRED) packet scheduling algorithm for some of your network devices 215 (GRED) packet scheduling algorithm for some of your network devices
@@ -230,7 +221,6 @@ config NET_SCH_GRED
230 221
231config NET_SCH_DSMARK 222config NET_SCH_DSMARK
232 tristate "Differentiated Services marker (DSMARK)" 223 tristate "Differentiated Services marker (DSMARK)"
233 depends on NET_SCHED
234 ---help--- 224 ---help---
235 Say Y if you want to schedule packets according to the 225 Say Y if you want to schedule packets according to the
236 Differentiated Services architecture proposed in RFC 2475. 226 Differentiated Services architecture proposed in RFC 2475.
@@ -242,7 +232,6 @@ config NET_SCH_DSMARK
242 232
243config NET_SCH_NETEM 233config NET_SCH_NETEM
244 tristate "Network emulator (NETEM)" 234 tristate "Network emulator (NETEM)"
245 depends on NET_SCHED
246 ---help--- 235 ---help---
247 Say Y if you want to emulate network delay, loss, and packet 236 Say Y if you want to emulate network delay, loss, and packet
248 re-ordering. This is often useful to simulate networks when 237 re-ordering. This is often useful to simulate networks when
@@ -255,7 +244,6 @@ config NET_SCH_NETEM
255 244
256config NET_SCH_INGRESS 245config NET_SCH_INGRESS
257 tristate "Ingress Qdisc" 246 tristate "Ingress Qdisc"
258 depends on NET_SCHED
259 ---help--- 247 ---help---
260 Say Y here if you want to use classifiers for incoming packets. 248 Say Y here if you want to use classifiers for incoming packets.
261 If unsure, say Y. 249 If unsure, say Y.
@@ -264,14 +252,12 @@ config NET_SCH_INGRESS
264 module will be called sch_ingress. 252 module will be called sch_ingress.
265 253
266comment "Classification" 254comment "Classification"
267 depends on NET_SCHED
268 255
269config NET_CLS 256config NET_CLS
270 boolean 257 boolean
271 258
272config NET_CLS_BASIC 259config NET_CLS_BASIC
273 tristate "Elementary classification (BASIC)" 260 tristate "Elementary classification (BASIC)"
274 depends NET_SCHED
275 select NET_CLS 261 select NET_CLS
276 ---help--- 262 ---help---
277 Say Y here if you want to be able to classify packets using 263 Say Y here if you want to be able to classify packets using
@@ -282,7 +268,6 @@ config NET_CLS_BASIC
282 268
283config NET_CLS_TCINDEX 269config NET_CLS_TCINDEX
284 tristate "Traffic-Control Index (TCINDEX)" 270 tristate "Traffic-Control Index (TCINDEX)"
285 depends NET_SCHED
286 select NET_CLS 271 select NET_CLS
287 ---help--- 272 ---help---
288 Say Y here if you want to be able to classify packets based on 273 Say Y here if you want to be able to classify packets based on
@@ -294,7 +279,6 @@ config NET_CLS_TCINDEX
294 279
295config NET_CLS_ROUTE4 280config NET_CLS_ROUTE4
296 tristate "Routing decision (ROUTE)" 281 tristate "Routing decision (ROUTE)"
297 depends NET_SCHED
298 select NET_CLS_ROUTE 282 select NET_CLS_ROUTE
299 select NET_CLS 283 select NET_CLS
300 ---help--- 284 ---help---
@@ -306,11 +290,9 @@ config NET_CLS_ROUTE4
306 290
307config NET_CLS_ROUTE 291config NET_CLS_ROUTE
308 bool 292 bool
309 default n
310 293
311config NET_CLS_FW 294config NET_CLS_FW
312 tristate "Netfilter mark (FW)" 295 tristate "Netfilter mark (FW)"
313 depends NET_SCHED
314 select NET_CLS 296 select NET_CLS
315 ---help--- 297 ---help---
316 If you say Y here, you will be able to classify packets 298 If you say Y here, you will be able to classify packets
@@ -321,7 +303,6 @@ config NET_CLS_FW
321 303
322config NET_CLS_U32 304config NET_CLS_U32
323 tristate "Universal 32bit comparisons w/ hashing (U32)" 305 tristate "Universal 32bit comparisons w/ hashing (U32)"
324 depends NET_SCHED
325 select NET_CLS 306 select NET_CLS
326 ---help--- 307 ---help---
327 Say Y here to be able to classify packetes using a universal 308 Say Y here to be able to classify packetes using a universal
@@ -345,7 +326,6 @@ config CLS_U32_MARK
345 326
346config NET_CLS_RSVP 327config NET_CLS_RSVP
347 tristate "IPv4 Resource Reservation Protocol (RSVP)" 328 tristate "IPv4 Resource Reservation Protocol (RSVP)"
348 depends on NET_SCHED
349 select NET_CLS 329 select NET_CLS
350 select NET_ESTIMATOR 330 select NET_ESTIMATOR
351 ---help--- 331 ---help---
@@ -361,7 +341,6 @@ config NET_CLS_RSVP
361 341
362config NET_CLS_RSVP6 342config NET_CLS_RSVP6
363 tristate "IPv6 Resource Reservation Protocol (RSVP6)" 343 tristate "IPv6 Resource Reservation Protocol (RSVP6)"
364 depends on NET_SCHED
365 select NET_CLS 344 select NET_CLS
366 select NET_ESTIMATOR 345 select NET_ESTIMATOR
367 ---help--- 346 ---help---
@@ -377,7 +356,6 @@ config NET_CLS_RSVP6
377 356
378config NET_EMATCH 357config NET_EMATCH
379 bool "Extended Matches" 358 bool "Extended Matches"
380 depends NET_SCHED
381 select NET_CLS 359 select NET_CLS
382 ---help--- 360 ---help---
383 Say Y here if you want to use extended matches on top of classifiers 361 Say Y here if you want to use extended matches on top of classifiers
@@ -456,7 +434,7 @@ config NET_EMATCH_TEXT
456 434
457config NET_CLS_ACT 435config NET_CLS_ACT
458 bool "Actions" 436 bool "Actions"
459 depends on EXPERIMENTAL && NET_SCHED 437 depends on EXPERIMENTAL
460 select NET_ESTIMATOR 438 select NET_ESTIMATOR
461 ---help--- 439 ---help---
462 Say Y here if you want to use traffic control actions. Actions 440 Say Y here if you want to use traffic control actions. Actions
@@ -539,7 +517,7 @@ config NET_ACT_SIMP
539 517
540config NET_CLS_POLICE 518config NET_CLS_POLICE
541 bool "Traffic Policing (obsolete)" 519 bool "Traffic Policing (obsolete)"
542 depends on NET_SCHED && NET_CLS_ACT!=y 520 depends on NET_CLS_ACT!=y
543 select NET_ESTIMATOR 521 select NET_ESTIMATOR
544 ---help--- 522 ---help---
545 Say Y here if you want to do traffic policing, i.e. strict 523 Say Y here if you want to do traffic policing, i.e. strict
@@ -549,7 +527,7 @@ config NET_CLS_POLICE
549 527
550config NET_CLS_IND 528config NET_CLS_IND
551 bool "Incoming device classification" 529 bool "Incoming device classification"
552 depends on NET_SCHED && (NET_CLS_U32 || NET_CLS_FW) 530 depends on NET_CLS_U32 || NET_CLS_FW
553 ---help--- 531 ---help---
554 Say Y here to extend the u32 and fw classifier to support 532 Say Y here to extend the u32 and fw classifier to support
555 classification based on the incoming device. This option is 533 classification based on the incoming device. This option is
@@ -557,11 +535,12 @@ config NET_CLS_IND
557 535
558config NET_ESTIMATOR 536config NET_ESTIMATOR
559 bool "Rate estimator" 537 bool "Rate estimator"
560 depends on NET_SCHED
561 ---help--- 538 ---help---
562 Say Y here to allow using rate estimators to estimate the current 539 Say Y here to allow using rate estimators to estimate the current
563 rate-of-flow for network devices, queues, etc. This module is 540 rate-of-flow for network devices, queues, etc. This module is
564 automaticaly selected if needed but can be selected manually for 541 automaticaly selected if needed but can be selected manually for
565 statstical purposes. 542 statstical purposes.
566 543
544endif # NET_SCHED
545
567endmenu 546endmenu