From 027a8c479e403934d6a2404b5b1d1943d5c67d44 Mon Sep 17 00:00:00 2001 From: Steve French Date: Thu, 26 Jul 2007 15:54:16 +0000 Subject: [PATCH] --- yaml --- r: 64031 b: refs/heads/master c: a403a0a370946e7dbcda6464a3509089daee54bc h: refs/heads/master i: 64029: 0e5e736348238fa51eefe0fda8646346dc13b2aa 64027: 3c9e355d723bff4e45cbfb78e278a3199011a156 64023: ed2c810b49e417b5f750782c092771f21adcea62 64015: 069b3a1bbdc653f40eb67c8971ca3b954488a6c6 63999: 52f3550bfbfb933129ec064457126de1a733f355 v: v3 --- [refs] | 2 +- trunk/.gitignore | 1 - trunk/CREDITS | 5 +- trunk/Documentation/Changes | 1 - trunk/Documentation/DMA-API.txt | 79 +- trunk/Documentation/DocBook/kernel-api.tmpl | 19 +- trunk/Documentation/DocBook/uio-howto.tmpl | 4 + trunk/Documentation/dontdiff | 3 - trunk/Documentation/fb/pvr2fb.txt | 22 +- .../feature-removal-schedule.txt | 16 + trunk/Documentation/filesystems/hfsplus.txt | 59 - trunk/Documentation/hpet.txt | 2 +- trunk/Documentation/hwmon/adm1031 | 4 +- trunk/Documentation/hwmon/thmc50 | 74 - trunk/Documentation/i386/zero-page.txt | 10 - trunk/Documentation/ja_JP/HOWTO | 66 +- .../ja_JP/stable_api_nonsense.txt | 20 +- .../Documentation/kbuild/kconfig-language.txt | 9 - trunk/Documentation/kernel-parameters.txt | 169 +- trunk/Documentation/keys.txt | 5 +- trunk/Documentation/kobject.txt | 178 +- trunk/Documentation/lguest/Makefile | 4 +- trunk/Documentation/lguest/extract | 58 - trunk/Documentation/lguest/lguest.c | 620 +- trunk/Documentation/memory-hotplug.txt | 322 - trunk/Documentation/sched-design-CFS.txt | 2 +- trunk/Documentation/sched-nice-design.txt | 108 - trunk/Documentation/sched-stats.txt | 195 +- trunk/Documentation/spi/spidev_test.c | 202 - trunk/Documentation/stable_api_nonsense.txt | 2 +- trunk/Documentation/sysfs-rules.txt | 72 +- trunk/Documentation/sysrq.txt | 4 +- trunk/Documentation/thinkpad-acpi.txt | 4 +- trunk/Documentation/vm/slabinfo.c | 2 +- trunk/MAINTAINERS | 68 +- trunk/Makefile | 2 +- trunk/arch/alpha/boot/Makefile | 2 +- trunk/arch/alpha/boot/main.c | 2 +- trunk/arch/alpha/boot/tools/mkbb.c | 5 +- trunk/arch/alpha/boot/tools/objstrip.c | 2 +- trunk/arch/alpha/kernel/head.S | 1 - trunk/arch/alpha/kernel/pci.c | 10 +- trunk/arch/alpha/kernel/pci_iommu.c | 4 +- trunk/arch/alpha/kernel/smp.c | 7 +- trunk/arch/alpha/kernel/sys_titan.c | 27 +- trunk/arch/alpha/kernel/vmlinux.lds.S | 1 - trunk/arch/alpha/mm/init.c | 3 +- trunk/arch/arm/Kconfig | 3 +- trunk/arch/arm/configs/iop13xx_defconfig | 306 +- trunk/arch/arm/configs/iop32x_defconfig | 382 +- trunk/arch/arm/configs/iop33x_defconfig | 313 +- trunk/arch/arm/configs/rpc_defconfig | 791 +- trunk/arch/arm/kernel/entry-common.S | 2 +- trunk/arch/arm/kernel/setup.c | 1 - trunk/arch/arm/kernel/smp.c | 3 +- trunk/arch/arm/kernel/traps.c | 2 + .../arch/arm/mach-at91/at91sam9261_devices.c | 2 - .../arch/arm/mach-at91/at91sam9263_devices.c | 2 - trunk/arch/arm/mach-sa1100/jornada720.c | 27 +- trunk/arch/arm/mach-sa1100/jornada720_ssp.c | 2 +- trunk/arch/arm/nwfpe/Makefile | 1 + trunk/arch/arm/nwfpe/entry26.S | 112 + trunk/arch/arm26/ACKNOWLEDGEMENTS | 29 + trunk/arch/arm26/Kconfig | 253 + trunk/arch/arm26/Kconfig.debug | 50 + trunk/arch/arm26/Makefile | 107 + trunk/arch/arm26/boot/Makefile | 83 + trunk/arch/arm26/boot/compressed/Makefile | 50 + trunk/arch/arm26/boot/compressed/head.S | 516 + trunk/arch/arm26/boot/compressed/ll_char_wr.S | 162 + trunk/arch/arm26/boot/compressed/misc.c | 316 + trunk/arch/arm26/boot/compressed/uncompress.h | 110 + .../arch/arm26/boot/compressed/vmlinux.lds.in | 60 + trunk/arch/arm26/boot/install.sh | 62 + trunk/arch/arm26/defconfig | 361 + trunk/arch/arm26/kernel/Makefile | 17 + trunk/arch/arm26/kernel/armksyms.c | 204 + trunk/arch/arm26/kernel/asm-offsets.c | 55 + trunk/arch/arm26/kernel/calls.S | 265 + trunk/arch/arm26/kernel/compat.c | 173 + trunk/arch/arm26/kernel/dma.c | 273 + trunk/arch/arm26/kernel/ecard.c | 847 + trunk/arch/arm26/kernel/entry.S | 951 + trunk/arch/arm26/kernel/fiq.c | 201 + trunk/arch/arm26/kernel/head.S | 112 + trunk/arch/arm26/kernel/init_task.c | 49 + trunk/arch/arm26/kernel/irq.c | 722 + trunk/arch/arm26/kernel/process.c | 392 + trunk/arch/arm26/kernel/ptrace.c | 670 + trunk/arch/arm26/kernel/ptrace.h | 13 + trunk/arch/arm26/kernel/semaphore.c | 222 + trunk/arch/arm26/kernel/setup.c | 572 + trunk/arch/arm26/kernel/signal.c | 538 + trunk/arch/arm26/kernel/sys_arm.c | 323 + trunk/arch/arm26/kernel/time.c | 210 + trunk/arch/arm26/kernel/traps.c | 548 + .../arm26/kernel/vmlinux-arm26-xip.lds.in | 136 + trunk/arch/arm26/kernel/vmlinux-arm26.lds.in | 129 + trunk/arch/arm26/kernel/vmlinux.lds.S | 11 + trunk/arch/arm26/lib/Makefile | 26 + trunk/arch/arm26/lib/ashldi3.c | 61 + trunk/arch/arm26/lib/ashrdi3.c | 61 + trunk/arch/arm26/lib/backtrace.S | 144 + trunk/arch/arm26/lib/changebit.S | 28 + trunk/arch/arm26/lib/clearbit.S | 31 + trunk/arch/arm26/lib/copy_page.S | 62 + trunk/arch/arm26/lib/csumipv6.S | 32 + trunk/arch/arm26/lib/csumpartial.S | 130 + trunk/arch/arm26/lib/csumpartialcopy.S | 52 + trunk/arch/arm26/lib/csumpartialcopygeneric.S | 352 + trunk/arch/arm26/lib/csumpartialcopyuser.S | 114 + trunk/arch/arm26/lib/delay.S | 57 + trunk/arch/arm26/lib/ecard.S | 40 + trunk/arch/arm26/lib/findbit.S | 67 + trunk/arch/arm26/lib/floppydma.S | 32 + trunk/arch/arm26/lib/gcclib.h | 21 + trunk/arch/arm26/lib/getuser.S | 112 + trunk/arch/arm26/lib/io-acorn.S | 70 + trunk/arch/arm26/lib/io-readsb.S | 116 + trunk/arch/arm26/lib/io-readsl.S | 78 + trunk/arch/arm26/lib/io-readsw.S | 107 + trunk/arch/arm26/lib/io-writesb.S | 122 + trunk/arch/arm26/lib/io-writesl.S | 56 + trunk/arch/arm26/lib/io-writesw.S | 127 + trunk/arch/arm26/lib/kbd.c | 278 + trunk/arch/arm26/lib/lib1funcs.S | 313 + trunk/arch/arm26/lib/longlong.h | 184 + trunk/arch/arm26/lib/lshrdi3.c | 61 + trunk/arch/arm26/lib/memchr.S | 25 + trunk/arch/arm26/lib/memcpy.S | 318 + trunk/arch/arm26/lib/memset.S | 80 + trunk/arch/arm26/lib/memzero.S | 80 + trunk/arch/arm26/lib/muldi3.c | 77 + trunk/arch/arm26/lib/putuser.S | 109 + trunk/arch/arm26/lib/setbit.S | 29 + trunk/arch/arm26/lib/strchr.S | 25 + trunk/arch/arm26/lib/strrchr.S | 25 + trunk/arch/arm26/lib/testchangebit.S | 29 + trunk/arch/arm26/lib/testclearbit.S | 29 + trunk/arch/arm26/lib/testsetbit.S | 29 + trunk/arch/arm26/lib/uaccess-kernel.S | 173 + trunk/arch/arm26/lib/uaccess-user.S | 718 + trunk/arch/arm26/lib/ucmpdi2.c | 51 + trunk/arch/arm26/lib/udivdi3.c | 242 + trunk/arch/arm26/machine/Makefile | 8 + trunk/arch/arm26/machine/dma.c | 214 + trunk/arch/arm26/machine/irq.c | 164 + trunk/arch/arm26/machine/latches.c | 72 + trunk/arch/arm26/mm/Makefile | 6 + trunk/arch/arm26/mm/extable.c | 24 + trunk/arch/arm26/mm/fault.c | 312 + trunk/arch/arm26/mm/fault.h | 5 + trunk/arch/arm26/mm/init.c | 403 + trunk/arch/arm26/mm/memc.c | 184 + trunk/arch/arm26/mm/proc-funcs.S | 359 + trunk/arch/arm26/mm/small_page.c | 192 + trunk/arch/arm26/nwfpe/ARM-gcc.h | 120 + trunk/arch/arm26/nwfpe/ChangeLog | 83 + trunk/arch/arm26/nwfpe/Makefile | 15 + trunk/arch/arm26/nwfpe/double_cpdo.c | 288 + trunk/arch/arm26/nwfpe/entry.S | 114 + trunk/arch/arm26/nwfpe/extended_cpdo.c | 273 + trunk/arch/arm26/nwfpe/fpa11.c | 221 + trunk/arch/arm26/nwfpe/fpa11.h | 87 + trunk/arch/arm26/nwfpe/fpa11.inl | 51 + trunk/arch/arm26/nwfpe/fpa11_cpdo.c | 117 + trunk/arch/arm26/nwfpe/fpa11_cpdt.c | 368 + trunk/arch/arm26/nwfpe/fpa11_cprt.c | 289 + trunk/arch/arm26/nwfpe/fpmodule.c | 180 + trunk/arch/arm26/nwfpe/fpmodule.h | 46 + trunk/arch/arm26/nwfpe/fpmodule.inl | 84 + trunk/arch/arm26/nwfpe/fpopcode.c | 148 + trunk/arch/arm26/nwfpe/fpopcode.h | 390 + trunk/arch/arm26/nwfpe/fpsr.h | 108 + trunk/arch/arm26/nwfpe/milieu.h | 48 + trunk/arch/arm26/nwfpe/single_cpdo.c | 255 + trunk/arch/arm26/nwfpe/softfloat-macros | 740 + trunk/arch/arm26/nwfpe/softfloat-specialize | 366 + trunk/arch/arm26/nwfpe/softfloat.c | 3439 ++ trunk/arch/arm26/nwfpe/softfloat.h | 232 + trunk/arch/blackfin/Makefile | 4 - trunk/arch/blackfin/kernel/dma-mapping.c | 3 +- trunk/arch/blackfin/kernel/init_task.c | 1 - trunk/arch/blackfin/kernel/process.c | 2 - trunk/arch/blackfin/kernel/setup.c | 5 +- trunk/arch/blackfin/kernel/sys_bfin.c | 1 - trunk/arch/blackfin/kernel/traps.c | 3 +- trunk/arch/blackfin/kernel/vmlinux.lds.S | 16 +- trunk/arch/blackfin/mach-bf561/head.S | 10 +- trunk/arch/blackfin/mach-common/cacheinit.S | 3 - .../blackfin/mach-common/ints-priority-dc.c | 39 +- .../blackfin/mach-common/ints-priority-sc.c | 48 +- trunk/arch/cris/Kconfig | 2 + trunk/arch/frv/kernel/entry.S | 1 - trunk/arch/frv/kernel/sys_frv.c | 1 - trunk/arch/frv/mb93090-mb00/pci-vdk.c | 3 +- trunk/arch/i386/Kconfig | 5 +- trunk/arch/i386/Kconfig.debug | 4 +- trunk/arch/i386/boot/code16gcc.h | 2 +- trunk/arch/i386/boot/edd.c | 7 +- trunk/arch/i386/boot/header.S | 4 +- trunk/arch/i386/boot/install.sh | 9 +- trunk/arch/i386/boot/pm.c | 2 +- trunk/arch/i386/boot/video-bios.c | 2 +- trunk/arch/i386/boot/video-vesa.c | 2 +- trunk/arch/i386/kernel/Makefile | 1 + trunk/arch/i386/kernel/acpi/Makefile | 2 +- trunk/arch/i386/kernel/alternative.c | 51 +- trunk/arch/i386/kernel/apic.c | 10 +- trunk/arch/i386/kernel/apm.c | 2 +- trunk/arch/i386/kernel/cpu/amd.c | 7 +- trunk/arch/i386/kernel/cpu/bugs.c | 1 - trunk/arch/i386/kernel/cpu/cpufreq/Kconfig | 2 +- .../i386/kernel/cpu/cpufreq/acpi-cpufreq.c | 43 +- trunk/arch/i386/kernel/doublefault.c | 13 +- trunk/arch/i386/kernel/e820.c | 2 +- trunk/arch/i386/kernel/head.S | 4 +- trunk/arch/i386/kernel/io_apic.c | 7 +- trunk/arch/i386/kernel/legacy_serial.c | 67 + trunk/arch/i386/kernel/microcode.c | 1 - trunk/arch/i386/kernel/paravirt.c | 52 +- trunk/arch/i386/kernel/setup.c | 2 +- trunk/arch/i386/kernel/sys_i386.c | 1 - trunk/arch/i386/kernel/sysenter.c | 1 - trunk/arch/i386/kernel/vmi.c | 35 +- trunk/arch/i386/mm/init.c | 16 +- trunk/arch/i386/mm/pageattr.c | 2 +- trunk/arch/i386/pci/common.c | 23 - trunk/arch/i386/pci/fixup.c | 6 +- trunk/arch/i386/pci/irq.c | 5 +- trunk/arch/i386/pci/legacy.c | 2 +- trunk/arch/i386/pci/mmconfig.c | 14 +- trunk/arch/i386/pci/numa.c | 15 +- trunk/arch/i386/pci/pci.h | 43 - trunk/arch/i386/pci/visws.c | 4 +- trunk/arch/i386/power/Makefile | 2 +- trunk/arch/i386/xen/enlighten.c | 12 +- trunk/arch/ia64/Kconfig | 3 - trunk/arch/ia64/hp/common/sba_iommu.c | 7 +- trunk/arch/ia64/hp/sim/simscsi.c | 68 +- trunk/arch/ia64/ia32/sys_ia32.c | 1 + trunk/arch/ia64/kernel/acpi.c | 9 +- trunk/arch/ia64/kernel/cyclone.c | 14 +- trunk/arch/ia64/kernel/init_task.c | 1 - trunk/arch/ia64/kernel/iosapic.c | 19 +- trunk/arch/ia64/kernel/irq_ia64.c | 22 +- trunk/arch/ia64/kernel/mca.c | 17 +- trunk/arch/ia64/kernel/perfmon.c | 4 +- trunk/arch/ia64/kernel/setup.c | 1 + trunk/arch/ia64/kernel/smp.c | 8 +- trunk/arch/ia64/kernel/time.c | 20 +- trunk/arch/ia64/sn/kernel/io_common.c | 2 +- trunk/arch/ia64/sn/kernel/setup.c | 1 + trunk/arch/ia64/sn/kernel/sn2/timer.c | 7 +- trunk/arch/m32r/kernel/ptrace.c | 1 - trunk/arch/m32r/kernel/setup_mappi.c | 5 +- trunk/arch/m32r/kernel/smpboot.c | 1 - trunk/arch/m32r/kernel/sys_m32r.c | 1 - trunk/arch/m68k/kernel/process.c | 1 - trunk/arch/m68k/kernel/sys_m68k.c | 1 - trunk/arch/m68knommu/kernel/setup.c | 2 + trunk/arch/m68knommu/platform/5206/config.c | 2 + trunk/arch/m68knommu/platform/5206e/config.c | 3 + trunk/arch/m68knommu/platform/520x/config.c | 2 + trunk/arch/m68knommu/platform/523x/config.c | 2 + trunk/arch/m68knommu/platform/5249/config.c | 2 + trunk/arch/m68knommu/platform/5272/config.c | 2 + trunk/arch/m68knommu/platform/527x/config.c | 2 + trunk/arch/m68knommu/platform/528x/config.c | 2 + trunk/arch/m68knommu/platform/5307/config.c | 2 + trunk/arch/m68knommu/platform/5307/pit.c | 14 +- trunk/arch/m68knommu/platform/5307/timers.c | 13 +- trunk/arch/m68knommu/platform/532x/config.c | 2 + trunk/arch/m68knommu/platform/5407/config.c | 2 + trunk/arch/m68knommu/platform/68328/timers.c | 11 +- trunk/arch/m68knommu/platform/68360/config.c | 14 +- trunk/arch/mips/Kconfig | 245 +- trunk/arch/mips/Makefile | 65 +- trunk/arch/mips/arc/file.c | 22 +- trunk/arch/mips/au1000/common/Makefile | 2 - trunk/arch/mips/boot/Makefile | 4 + trunk/arch/mips/cobalt/Makefile | 2 - trunk/arch/mips/cobalt/serial.c | 4 +- trunk/arch/mips/configs/atlas_defconfig | 3 + trunk/arch/mips/configs/bigsur_defconfig | 3 + trunk/arch/mips/configs/capcella_defconfig | 3 + trunk/arch/mips/configs/cobalt_defconfig | 2 + trunk/arch/mips/configs/db1000_defconfig | 3 + trunk/arch/mips/configs/db1100_defconfig | 3 + trunk/arch/mips/configs/db1200_defconfig | 3 + trunk/arch/mips/configs/db1500_defconfig | 3 + trunk/arch/mips/configs/db1550_defconfig | 3 + trunk/arch/mips/configs/ddb5477_defconfig | 990 + trunk/arch/mips/configs/decstation_defconfig | 3 + trunk/arch/mips/configs/e55_defconfig | 3 + trunk/arch/mips/configs/emma2rh_defconfig | 3 + trunk/arch/mips/configs/excite_defconfig | 3 + trunk/arch/mips/configs/fulong_defconfig | 2 + trunk/arch/mips/configs/ip22_defconfig | 3 + trunk/arch/mips/configs/ip27_defconfig | 3 + trunk/arch/mips/configs/ip32_defconfig | 3 + trunk/arch/mips/configs/jazz_defconfig | 3 + trunk/arch/mips/configs/jmr3927_defconfig | 3 + trunk/arch/mips/configs/malta_defconfig | 3 + trunk/arch/mips/configs/mipssim_defconfig | 3 + trunk/arch/mips/configs/mpc30x_defconfig | 3 + trunk/arch/mips/configs/msp71xx_defconfig | 3 + trunk/arch/mips/configs/ocelot_defconfig | 919 + trunk/arch/mips/configs/pb1100_defconfig | 3 + trunk/arch/mips/configs/pb1500_defconfig | 3 + trunk/arch/mips/configs/pb1550_defconfig | 3 + trunk/arch/mips/configs/pnx8550-jbs_defconfig | 3 + .../mips/configs/pnx8550-stb810_defconfig | 3 + trunk/arch/mips/configs/qemu_defconfig | 3 + trunk/arch/mips/configs/rbhma4200_defconfig | 2 + trunk/arch/mips/configs/rbhma4500_defconfig | 2 + trunk/arch/mips/configs/rm200_defconfig | 3 + .../arch/mips/configs/sb1250-swarm_defconfig | 3 + trunk/arch/mips/configs/sead_defconfig | 3 + trunk/arch/mips/configs/tb0219_defconfig | 3 + trunk/arch/mips/configs/tb0226_defconfig | 3 + trunk/arch/mips/configs/tb0287_defconfig | 3 + trunk/arch/mips/configs/workpad_defconfig | 3 + trunk/arch/mips/configs/wrppmc_defconfig | 3 + trunk/arch/mips/configs/yosemite_defconfig | 3 + trunk/arch/mips/ddb5xxx/Kconfig | 4 + trunk/arch/mips/ddb5xxx/common/Makefile | 5 + trunk/arch/mips/ddb5xxx/common/nile4.c | 130 + trunk/arch/mips/ddb5xxx/common/prom.c | 132 + trunk/arch/mips/ddb5xxx/common/rtc_ds1386.c | 170 + trunk/arch/mips/ddb5xxx/ddb5477/Makefile | 9 + .../mips/ddb5xxx/ddb5477/ddb5477-platform.c | 49 + trunk/arch/mips/ddb5xxx/ddb5477/debug.c | 160 + trunk/arch/mips/ddb5xxx/ddb5477/irq.c | 209 + trunk/arch/mips/ddb5xxx/ddb5477/irq_5477.c | 154 + trunk/arch/mips/ddb5xxx/ddb5477/kgdb_io.c | 136 + trunk/arch/mips/ddb5xxx/ddb5477/lcd44780.c | 96 + trunk/arch/mips/ddb5xxx/ddb5477/lcd44780.h | 15 + trunk/arch/mips/ddb5xxx/ddb5477/setup.c | 399 + trunk/arch/mips/dec/Makefile | 2 - trunk/arch/mips/defconfig | 3 + trunk/arch/mips/gt64120/common/Makefile | 5 + trunk/arch/mips/gt64120/common/time.c | 101 + .../arch/mips/gt64120/momenco_ocelot/Makefile | 7 + .../arch/mips/gt64120/momenco_ocelot/dbg_io.c | 121 + trunk/arch/mips/gt64120/momenco_ocelot/irq.c | 95 + .../gt64120/momenco_ocelot/ocelot-platform.c | 46 + .../mips/gt64120/momenco_ocelot/ocelot_pld.h | 30 + trunk/arch/mips/gt64120/momenco_ocelot/prom.c | 71 + .../arch/mips/gt64120/momenco_ocelot/reset.c | 47 + .../arch/mips/gt64120/momenco_ocelot/setup.c | 365 + trunk/arch/mips/gt64120/wrppmc/Makefile | 2 - trunk/arch/mips/jazz/Makefile | 2 - trunk/arch/mips/jmr3927/common/Makefile | 2 - trunk/arch/mips/jmr3927/rbhma3100/Makefile | 2 - trunk/arch/mips/kernel/Makefile | 2 - trunk/arch/mips/kernel/asm-offsets.c | 1 + trunk/arch/mips/kernel/head.S | 1 + trunk/arch/mips/kernel/kspd.c | 19 +- trunk/arch/mips/kernel/linux32.c | 7 - trunk/arch/mips/kernel/machine_kexec.c | 13 +- trunk/arch/mips/kernel/mips-mt-fpaff.c | 9 +- trunk/arch/mips/kernel/mips-mt.c | 22 - trunk/arch/mips/kernel/process.c | 2 +- trunk/arch/mips/kernel/ptrace.c | 14 +- trunk/arch/mips/kernel/relocate_kernel.S | 78 +- trunk/arch/mips/kernel/rtlx.c | 24 +- trunk/arch/mips/kernel/scall32-o32.S | 1 - trunk/arch/mips/kernel/scall64-64.S | 1 - trunk/arch/mips/kernel/scall64-n32.S | 1 - trunk/arch/mips/kernel/scall64-o32.S | 1 - trunk/arch/mips/kernel/signal32.c | 1 + trunk/arch/mips/kernel/smp.c | 56 - trunk/arch/mips/kernel/smtc.c | 36 +- trunk/arch/mips/kernel/syscall.c | 19 +- trunk/arch/mips/kernel/traps.c | 2 +- trunk/arch/mips/kernel/unaligned.c | 53 +- trunk/arch/mips/kernel/vpe.c | 359 +- trunk/arch/mips/lemote/lm2e/Makefile | 3 +- trunk/arch/mips/lemote/lm2e/irq.c | 1 + trunk/arch/mips/lemote/lm2e/prom.c | 10 +- trunk/arch/mips/lemote/lm2e/setup.c | 14 +- trunk/arch/mips/math-emu/Makefile | 2 - trunk/arch/mips/mips-boards/atlas/Makefile | 2 - trunk/arch/mips/mips-boards/atlas/atlas_int.c | 1 - trunk/arch/mips/mips-boards/generic/Makefile | 2 - trunk/arch/mips/mips-boards/generic/init.c | 1 - trunk/arch/mips/mips-boards/generic/time.c | 4 +- trunk/arch/mips/mips-boards/malta/Makefile | 2 - trunk/arch/mips/mips-boards/malta/malta_int.c | 12 - .../arch/mips/mips-boards/malta/malta_smtc.c | 2 +- trunk/arch/mips/mips-boards/sead/Makefile | 2 - trunk/arch/mips/mipssim/Makefile | 2 - trunk/arch/mips/mipssim/sim_setup.c | 1 + trunk/arch/mips/mm/Makefile | 2 - trunk/arch/mips/mm/c-r4k.c | 4 +- trunk/arch/mips/oprofile/op_model_rm9000.c | 1 - trunk/arch/mips/pci/Makefile | 2 + trunk/arch/mips/pci/fixup-ddb5477.c | 78 + trunk/arch/mips/pci/fixup-ocelot.c | 75 + trunk/arch/mips/pci/fixup-rbtx4927.c | 2 +- trunk/arch/mips/pci/fixup-tx4938.c | 2 +- trunk/arch/mips/pci/ops-ddb5477.c | 278 + trunk/arch/mips/pci/ops-emma2rh.c | 2 +- trunk/arch/mips/pci/ops-pnx8550.c | 12 +- trunk/arch/mips/pci/pci-ddb5477.c | 207 + trunk/arch/mips/pci/pci-ocelot.c | 107 + .../arch/mips/philips/pnx8550/common/Makefile | 2 - trunk/arch/mips/pmc-sierra/yosemite/Makefile | 4 +- .../mips/pmc-sierra/yosemite/i2c-yosemite.c | 188 + trunk/arch/mips/pmc-sierra/yosemite/irq.c | 4 - trunk/arch/mips/pmc-sierra/yosemite/prom.c | 4 +- trunk/arch/mips/pmc-sierra/yosemite/setup.c | 4 +- trunk/arch/mips/pmc-sierra/yosemite/smp.c | 19 +- trunk/arch/mips/qemu/Makefile | 2 - trunk/arch/mips/sgi-ip27/Makefile | 2 - trunk/arch/mips/sgi-ip27/ip27-klnuma.c | 16 +- trunk/arch/mips/sgi-ip27/ip27-smp.c | 2 +- trunk/arch/mips/sgi-ip32/Makefile | 2 - trunk/arch/mips/sgi-ip32/ip32-reset.c | 3 +- trunk/arch/mips/sibyte/bcm1480/Makefile | 2 - trunk/arch/mips/sibyte/bcm1480/setup.c | 1 - trunk/arch/mips/sibyte/common/Makefile | 1 - trunk/arch/mips/sibyte/sb1250/Makefile | 2 - trunk/arch/mips/sni/Makefile | 2 - trunk/arch/mips/tx4927/common/tx4927_irq.c | 3 - .../toshiba_rbtx4927/toshiba_rbtx4927_irq.c | 4 +- .../toshiba_rbtx4927/toshiba_rbtx4927_setup.c | 58 +- .../arch/mips/tx4938/toshiba_rbtx4938/setup.c | 4 +- trunk/arch/mips/vr41xx/common/Makefile | 2 - trunk/arch/parisc/hpux/fs.c | 1 - trunk/arch/parisc/kernel/init_task.c | 1 - trunk/arch/parisc/kernel/process.c | 1 - trunk/arch/parisc/kernel/smp.c | 1 - trunk/arch/powerpc/Kconfig.debug | 4 +- trunk/arch/powerpc/boot/dts/kuroboxHD.dts | 18 +- trunk/arch/powerpc/boot/dts/kuroboxHG.dts | 19 +- trunk/arch/powerpc/boot/dts/mpc7448hpc2.dts | 2 +- trunk/arch/powerpc/boot/dts/mpc8544ds.dts | 8 - trunk/arch/powerpc/boot/dts/mpc8568mds.dts | 6 - trunk/arch/powerpc/boot/dts/prpmc2800.dts | 6 - trunk/arch/powerpc/configs/lite5200_defconfig | 2 +- trunk/arch/powerpc/configs/pmac32_defconfig | 2 +- trunk/arch/powerpc/configs/ps3_defconfig | 200 +- trunk/arch/powerpc/kernel/Makefile | 6 +- trunk/arch/powerpc/kernel/entry_64.S | 4 +- trunk/arch/powerpc/kernel/head_64.S | 23 +- trunk/arch/powerpc/kernel/iomap.c | 8 +- trunk/arch/powerpc/kernel/irq.c | 8 +- trunk/arch/powerpc/kernel/pci-common.c | 25 +- trunk/arch/powerpc/kernel/pci_32.c | 25 +- trunk/arch/powerpc/kernel/pci_64.c | 1 - trunk/arch/powerpc/kernel/process.c | 4 - trunk/arch/powerpc/kernel/prom_parse.c | 2 +- trunk/arch/powerpc/kernel/setup-common.c | 4 - trunk/arch/powerpc/kernel/smp.c | 9 +- trunk/arch/powerpc/kernel/syscalls.c | 1 - trunk/arch/powerpc/kernel/udbg.c | 2 +- trunk/arch/powerpc/lib/rheap.c | 1 - trunk/arch/powerpc/mm/hash_low_64.S | 6 +- trunk/arch/powerpc/mm/hash_utils_64.c | 2 +- trunk/arch/powerpc/mm/lmb.c | 4 +- trunk/arch/powerpc/mm/numa.c | 4 +- trunk/arch/powerpc/mm/slb.c | 69 +- trunk/arch/powerpc/mm/slice.c | 2 - .../powerpc/oprofile/cell/spu_task_sync.c | 1 - .../arch/powerpc/platforms/83xx/mpc832x_mds.c | 1 + .../arch/powerpc/platforms/83xx/mpc832x_rdb.c | 1 + .../arch/powerpc/platforms/83xx/mpc836x_mds.c | 1 + .../arch/powerpc/platforms/85xx/mpc85xx_mds.c | 1 + trunk/arch/powerpc/platforms/cell/spu_base.c | 141 +- .../arch/powerpc/platforms/cell/spu_manage.c | 163 - .../powerpc/platforms/cell/spufs/context.c | 3 +- trunk/arch/powerpc/platforms/cell/spufs/run.c | 4 - .../arch/powerpc/platforms/cell/spufs/sched.c | 7 +- .../arch/powerpc/platforms/iseries/lpevents.c | 2 +- trunk/arch/powerpc/platforms/maple/pci.c | 3 - .../arch/powerpc/platforms/powermac/feature.c | 6 +- trunk/arch/powerpc/platforms/ps3/Kconfig | 10 +- .../arch/powerpc/platforms/ps3/device-init.c | 37 +- trunk/arch/powerpc/platforms/ps3/setup.c | 2 +- trunk/arch/powerpc/platforms/ps3/spu.c | 6 - trunk/arch/powerpc/sysdev/fsl_pci.c | 4 +- trunk/arch/powerpc/sysdev/fsl_soc.c | 61 - trunk/arch/powerpc/sysdev/indirect_pci.c | 1 - trunk/arch/powerpc/sysdev/mv64x60_dev.c | 64 - trunk/arch/ppc/configs/TQM8540_defconfig | 2 +- trunk/arch/ppc/configs/TQM8541_defconfig | 2 +- trunk/arch/ppc/configs/TQM8555_defconfig | 2 +- trunk/arch/ppc/configs/TQM8560_defconfig | 2 +- trunk/arch/ppc/configs/ev64360_defconfig | 2 +- trunk/arch/ppc/configs/ml300_defconfig | 2 +- trunk/arch/ppc/configs/ml403_defconfig | 2 +- trunk/arch/ppc/configs/mpc834x_sys_defconfig | 2 +- trunk/arch/ppc/configs/prep_defconfig | 2 +- trunk/arch/ppc/syslib/mv64x60.c | 29 - trunk/arch/s390/Kconfig | 4 + trunk/arch/s390/appldata/appldata_base.c | 12 +- trunk/arch/s390/hypfs/inode.c | 12 - trunk/arch/s390/kernel/compat_wrapper.S | 10 - trunk/arch/s390/kernel/entry.S | 6 +- trunk/arch/s390/kernel/entry64.S | 6 +- trunk/arch/s390/kernel/head.S | 1 - trunk/arch/s390/kernel/init_task.c | 1 - trunk/arch/s390/kernel/process.c | 1 - trunk/arch/s390/kernel/smp.c | 31 +- trunk/arch/s390/kernel/sys_s390.c | 21 - trunk/arch/s390/kernel/syscalls.S | 2 +- trunk/arch/s390/kernel/vmlinux.lds.S | 1 - trunk/arch/s390/kernel/vtime.c | 2 +- trunk/arch/s390/mm/vmem.c | 6 +- trunk/arch/sh/Kconfig | 33 +- trunk/arch/sh/Makefile | 2 + .../arch/sh/boards/renesas/rts7751r2d/setup.c | 9 +- trunk/arch/sh/boards/se/7300/Makefile | 5 + trunk/arch/sh/boards/se/7300/io.c | 268 + trunk/arch/sh/boards/se/7300/irq.c | 40 + trunk/arch/sh/boards/se/7300/setup.c | 74 + trunk/arch/sh/boards/se/73180/Makefile | 5 + trunk/arch/sh/boards/se/73180/io.c | 268 + trunk/arch/sh/boards/se/73180/irq.c | 136 + trunk/arch/sh/boards/se/73180/setup.c | 75 + trunk/arch/sh/boot/Makefile | 7 +- trunk/arch/sh/boot/compressed/Makefile | 7 +- trunk/arch/sh/configs/hs7751rvoip_defconfig | 2 +- trunk/arch/sh/configs/landisk_defconfig | 2 +- trunk/arch/sh/configs/lboxre2_defconfig | 2 +- trunk/arch/sh/configs/rts7751r2d_defconfig | 8 +- trunk/arch/sh/configs/se7300_defconfig | 696 + trunk/arch/sh/configs/se73180_defconfig | 648 + trunk/arch/sh/configs/snapgear_defconfig | 587 +- trunk/arch/sh/configs/systemh_defconfig | 2 +- trunk/arch/sh/configs/titan_defconfig | 2 +- trunk/arch/sh/drivers/dma/dma-api.c | 7 +- trunk/arch/sh/kernel/cpu/irq/Makefile | 1 + trunk/arch/sh/kernel/cpu/irq/ipr.c | 2 +- trunk/arch/sh/kernel/cpu/irq/pint.c | 220 + trunk/arch/sh/kernel/cpu/sh3/Makefile | 4 +- .../sh3/{clock-sh7710.c => clock-sh7300.c} | 26 +- trunk/arch/sh/kernel/cpu/sh3/entry.S | 3 +- trunk/arch/sh/kernel/cpu/sh3/setup-sh7300.c | 43 + trunk/arch/sh/kernel/cpu/sh4/probe.c | 6 + trunk/arch/sh/kernel/cpu/sh4/sq.c | 18 +- trunk/arch/sh/kernel/cpu/sh4a/Makefile | 2 + trunk/arch/sh/kernel/cpu/sh4a/clock-sh73180.c | 81 + trunk/arch/sh/kernel/cpu/sh4a/setup-sh73180.c | 43 + trunk/arch/sh/kernel/init_task.c | 2 +- trunk/arch/sh/kernel/process.c | 7 +- trunk/arch/sh/kernel/setup.c | 3 +- trunk/arch/sh/kernel/sys_sh.c | 1 - trunk/arch/sh/kernel/timers/timer-tmu.c | 3 +- trunk/arch/sh/kernel/traps.c | 5 - trunk/arch/sh/kernel/vsyscall/vsyscall.c | 1 - trunk/arch/sh/mm/Kconfig | 14 +- trunk/arch/sh/mm/Makefile | 4 +- trunk/arch/sh/mm/cache-sh4.c | 14 + trunk/arch/sh/mm/fault-nommu.c | 47 +- trunk/arch/sh/mm/fault.c | 3 +- trunk/arch/sh/mm/pg-sh4.c | 76 +- trunk/arch/sh/tools/mach-types | 2 + trunk/arch/sh64/Kconfig | 3 - trunk/arch/sh64/kernel/init_task.c | 2 +- trunk/arch/sh64/kernel/irq_intc.c | 1 - trunk/arch/sh64/kernel/pci-dma.c | 4 +- trunk/arch/sh64/kernel/process.c | 1 - trunk/arch/sh64/kernel/sys_sh64.c | 1 - trunk/arch/sh64/lib/dbg.c | 1 - trunk/arch/sparc/defconfig | 186 +- trunk/arch/sparc/kernel/entry.S | 7 +- trunk/arch/sparc/kernel/init_task.c | 1 - trunk/arch/sparc/kernel/irq.c | 84 +- trunk/arch/sparc/kernel/prom.c | 20 +- trunk/arch/sparc/kernel/sparc_ksyms.c | 1 + trunk/arch/sparc/mm/sun4c.c | 3 - trunk/arch/sparc64/Kconfig.debug | 2 +- trunk/arch/sparc64/kernel/Makefile | 4 +- trunk/arch/sparc64/kernel/cpu.c | 36 +- trunk/arch/sparc64/kernel/ebus.c | 2 - trunk/arch/sparc64/kernel/head.S | 111 +- trunk/arch/sparc64/kernel/hvtramp.S | 7 +- trunk/arch/sparc64/kernel/init_task.c | 1 - trunk/arch/sparc64/kernel/irq.c | 74 +- trunk/arch/sparc64/kernel/isa.c | 2 - trunk/arch/sparc64/kernel/mdesc.c | 24 +- trunk/arch/sparc64/kernel/pci.c | 77 +- trunk/arch/sparc64/kernel/pci_common.c | 123 +- trunk/arch/sparc64/kernel/pci_fire.c | 24 +- .../sparc64/kernel/{iommu.c => pci_iommu.c} | 304 +- trunk/arch/sparc64/kernel/pci_psycho.c | 32 +- trunk/arch/sparc64/kernel/pci_sabre.c | 35 +- trunk/arch/sparc64/kernel/pci_schizo.c | 42 +- trunk/arch/sparc64/kernel/pci_sun4v.c | 168 +- trunk/arch/sparc64/kernel/process.c | 1 - trunk/arch/sparc64/kernel/prom.c | 15 - trunk/arch/sparc64/kernel/sbus.c | 568 +- trunk/arch/sparc64/kernel/smp.c | 5 + trunk/arch/sparc64/kernel/sparc64_ksyms.c | 1 - trunk/arch/sparc64/kernel/time.c | 75 - trunk/arch/sparc64/kernel/trampoline.S | 7 +- trunk/arch/sparc64/kernel/traps.c | 18 +- trunk/arch/sparc64/kernel/vio.c | 19 +- trunk/arch/sparc64/kernel/viohs.c | 2 +- trunk/arch/sparc64/lib/GENbzero.S | 160 - trunk/arch/sparc64/lib/GENcopy_from_user.S | 34 - trunk/arch/sparc64/lib/GENcopy_to_user.S | 38 - trunk/arch/sparc64/lib/GENmemcpy.S | 121 - trunk/arch/sparc64/lib/GENpage.S | 77 - trunk/arch/sparc64/lib/GENpatch.S | 33 - trunk/arch/sparc64/lib/Makefile | 4 +- trunk/arch/sparc64/mm/fault.c | 5 +- trunk/arch/um/drivers/chan_kern.c | 9 +- trunk/arch/um/drivers/mmapper_kern.c | 1 - trunk/arch/um/kernel/exec.c | 1 - trunk/arch/um/kernel/init_task.c | 1 - trunk/arch/um/kernel/syscall.c | 1 - trunk/arch/x86_64/Kconfig | 3 - trunk/arch/x86_64/boot/compressed/head.S | 7 - trunk/arch/x86_64/defconfig | 2 +- trunk/arch/x86_64/ia32/ia32_binfmt.c | 5 +- trunk/arch/x86_64/ia32/ptrace32.c | 1 - trunk/arch/x86_64/ia32/syscall32.c | 8 + trunk/arch/x86_64/kernel/Makefile | 4 +- trunk/arch/x86_64/kernel/acpi/Makefile | 2 +- trunk/arch/x86_64/kernel/apic.c | 6 +- trunk/arch/x86_64/kernel/bugs.c | 1 - trunk/arch/x86_64/kernel/entry.S | 6 +- trunk/arch/x86_64/kernel/head.S | 2 +- trunk/arch/x86_64/kernel/io_apic.c | 7 +- trunk/arch/x86_64/kernel/pci-calgary.c | 13 +- trunk/arch/x86_64/kernel/process.c | 1 - trunk/arch/x86_64/kernel/setup.c | 2 +- trunk/arch/x86_64/kernel/suspend.c | 4 +- trunk/arch/x86_64/kernel/sys_x86_64.c | 1 - trunk/arch/x86_64/kernel/tce.c | 6 +- trunk/arch/x86_64/kernel/tsc.c | 2 + trunk/arch/x86_64/lib/memcpy.S | 4 +- trunk/arch/x86_64/mm/init.c | 10 - trunk/arch/x86_64/mm/pageattr.c | 3 +- trunk/arch/x86_64/pci/mmconfig.c | 12 +- trunk/arch/x86_64/vdso/.gitignore | 1 - trunk/arch/x86_64/vdso/vma.c | 1 - trunk/block/Kconfig | 4 +- trunk/block/blktrace.c | 20 +- trunk/block/bsg.c | 88 +- trunk/block/ll_rw_blk.c | 4 - trunk/crypto/ablkcipher.c | 2 +- trunk/crypto/blkcipher.c | 2 +- trunk/crypto/cipher.c | 2 +- trunk/crypto/hash.c | 2 +- trunk/drivers/Makefile | 1 - trunk/drivers/acorn/README | 1 + trunk/drivers/acorn/block/Kconfig | 36 + trunk/drivers/acorn/block/Makefile | 9 + trunk/drivers/acorn/block/fd1772.c | 1604 + trunk/drivers/acorn/block/fd1772dma.S | 100 + trunk/drivers/acorn/block/mfm.S | 162 + trunk/drivers/acorn/block/mfmhd.c | 1385 + trunk/drivers/acpi/Kconfig | 8 +- trunk/drivers/acpi/asus_acpi.c | 1 - trunk/drivers/acpi/battery.c | 47 +- trunk/drivers/acpi/bay.c | 2 +- trunk/drivers/acpi/dock.c | 6 +- trunk/drivers/acpi/ec.c | 106 +- trunk/drivers/acpi/event.c | 2 +- trunk/drivers/acpi/processor_idle.c | 14 +- trunk/drivers/acpi/processor_perflib.c | 6 +- trunk/drivers/acpi/resources/rsxface.c | 2 + trunk/drivers/acpi/sbs.c | 6 +- trunk/drivers/acpi/sleep/Makefile | 4 +- trunk/drivers/acpi/sleep/main.c | 100 +- trunk/drivers/acpi/sleep/poweroff.c | 2 - trunk/drivers/acpi/sleep/proc.c | 14 +- trunk/drivers/acpi/sleep/sleep.h | 2 - trunk/drivers/acpi/tables/tbxface.c | 23 - trunk/drivers/acpi/thermal.c | 143 +- trunk/drivers/ata/ata_piix.c | 74 +- trunk/drivers/ata/libata-core.c | 1 - trunk/drivers/ata/libata-sff.c | 4 - trunk/drivers/ata/pata_cmd64x.c | 8 +- trunk/drivers/ata/pata_icside.c | 28 +- trunk/drivers/ata/pata_sis.c | 20 +- trunk/drivers/atm/fore200e.c | 2 +- trunk/drivers/atm/iphase.c | 12 +- trunk/drivers/atm/lanai.c | 1 + trunk/drivers/base/core.c | 5 +- trunk/drivers/base/cpu.c | 2 +- trunk/drivers/base/firmware_class.c | 1 - trunk/drivers/base/power/Makefile | 2 +- trunk/drivers/base/power/power.h | 4 +- trunk/drivers/base/power/shutdown.c | 2 + trunk/drivers/block/Makefile | 2 +- trunk/drivers/block/cciss.c | 21 +- trunk/drivers/block/cpqarray.c | 78 +- trunk/drivers/block/lguest_blk.c | 169 +- trunk/drivers/block/viodasd.c | 1 + trunk/drivers/block/xsysace.c | 29 +- trunk/drivers/char/Kconfig | 1 - trunk/drivers/char/Makefile | 1 + trunk/drivers/char/agp/Kconfig | 2 +- trunk/drivers/char/agp/ati-agp.c | 9 +- trunk/drivers/char/agp/compat_ioctl.c | 1 - trunk/drivers/char/agp/frontend.c | 1 - trunk/drivers/char/agp/generic.c | 2 + trunk/drivers/char/agp/intel-agp.c | 19 +- trunk/drivers/char/agp/sgi-agp.c | 1 + trunk/drivers/char/drm/i915_dma.c | 14 +- trunk/drivers/char/drm/i915_drv.h | 1 - trunk/drivers/char/hpet.c | 2 +- trunk/drivers/char/hvc_lguest.c | 81 +- trunk/drivers/char/ip2/ip2main.c | 3 +- trunk/drivers/char/ipmi/ipmi_si_intf.c | 1 - trunk/drivers/char/mmtimer.c | 1 - trunk/drivers/char/mspec.c | 1 - trunk/drivers/char/pcmcia/cm4000_cs.c | 5 +- trunk/drivers/char/pcmcia/cm4040_cs.c | 2 +- trunk/drivers/char/sonypi.c | 7 +- trunk/drivers/char/synclink_gt.c | 75 +- trunk/drivers/char/tty_io.c | 56 +- trunk/drivers/char/watchdog/Kconfig | 117 +- trunk/drivers/char/watchdog/Makefile | 43 +- trunk/drivers/char/watchdog/bfin_wdt.c | 490 - trunk/drivers/char/watchdog/booke_wdt.c | 2 +- trunk/drivers/char/watchdog/cpu5wdt.c | 4 - trunk/drivers/char/watchdog/davinci_wdt.c | 281 - trunk/drivers/char/watchdog/iTCO_wdt.c | 38 +- trunk/drivers/char/watchdog/machzwd.c | 1 - trunk/drivers/char/watchdog/mixcomwd.c | 5 - trunk/drivers/char/watchdog/mpc5200_wdt.c | 286 - trunk/drivers/char/watchdog/mpc83xx_wdt.c | 3 - trunk/drivers/char/watchdog/mpc8xx_wdt.c | 2 +- trunk/drivers/char/watchdog/mtx-1_wdt.c | 1 - trunk/drivers/char/watchdog/mv64x60_wdt.c | 218 +- trunk/drivers/char/watchdog/omap_wdt.c | 4 +- trunk/drivers/char/watchdog/s3c2410_wdt.c | 6 +- trunk/drivers/char/watchdog/sa1100_wdt.c | 3 +- trunk/drivers/char/watchdog/sbc60xxwdt.c | 4 +- trunk/drivers/char/watchdog/sc1200wdt.c | 4 +- trunk/drivers/char/watchdog/sc520_wdt.c | 4 +- trunk/drivers/char/watchdog/w83627hf_wdt.c | 24 +- trunk/drivers/dma/iovlock.c | 27 + trunk/drivers/edac/Kconfig | 4 +- trunk/drivers/edac/edac_mc.c | 64 +- trunk/drivers/edac/edac_mc_sysfs.c | 19 +- trunk/drivers/edac/edac_module.h | 8 - trunk/drivers/edac/edac_pci.c | 162 +- trunk/drivers/edac/edac_pci_sysfs.c | 297 +- trunk/drivers/edac/i3000_edac.c | 2 +- trunk/drivers/firewire/fw-ohci.c | 20 +- trunk/drivers/firewire/fw-sbp2.c | 5 +- trunk/drivers/firewire/fw-transaction.c | 4 +- trunk/drivers/firewire/fw-transaction.h | 2 +- trunk/drivers/hid/usbhid/hid-core.c | 5 +- trunk/drivers/hid/usbhid/hid-quirks.c | 138 +- trunk/drivers/hwmon/Kconfig | 10 - trunk/drivers/hwmon/Makefile | 1 - trunk/drivers/hwmon/abituguru3.c | 5 +- trunk/drivers/hwmon/ams/ams-core.c | 1 + trunk/drivers/hwmon/applesmc.c | 14 +- trunk/drivers/hwmon/dme1737.c | 2 +- trunk/drivers/hwmon/fscher.c | 4 +- trunk/drivers/hwmon/it87.c | 2 +- trunk/drivers/hwmon/lm78.c | 2 +- trunk/drivers/hwmon/lm90.c | 2 +- trunk/drivers/hwmon/lm93.c | 2 +- trunk/drivers/hwmon/pc87360.c | 2 +- trunk/drivers/hwmon/sis5595.c | 2 +- trunk/drivers/hwmon/smsc47m1.c | 2 +- trunk/drivers/hwmon/thmc50.c | 440 - trunk/drivers/hwmon/via686a.c | 2 +- trunk/drivers/hwmon/vt8231.c | 4 +- trunk/drivers/hwmon/w83627hf.c | 2 +- trunk/drivers/i2c/busses/Kconfig | 4 +- trunk/drivers/i2c/busses/i2c-i801.c | 4 +- trunk/drivers/i2c/busses/i2c-iop3xx.c | 1 - trunk/drivers/i2c/busses/i2c-mpc.c | 11 +- trunk/drivers/i2c/busses/i2c-mv64xxx.c | 31 +- trunk/drivers/i2c/busses/i2c-s3c2410.c | 4 +- trunk/drivers/i2c/chips/ds1682.c | 3 +- trunk/drivers/i2c/chips/isp1301_omap.c | 42 +- trunk/drivers/i2c/chips/menelaus.c | 3 +- trunk/drivers/i2c/chips/tps65010.c | 2 +- trunk/drivers/ide/Kconfig | 2 +- trunk/drivers/ide/arm/icside.c | 3 +- trunk/drivers/ide/arm/ide_arm.c | 20 +- trunk/drivers/ide/ide-tape.c | 2 +- trunk/drivers/ide/pci/alim15x3.c | 2 +- trunk/drivers/ide/pci/cmd64x.c | 4 +- trunk/drivers/ide/pci/cs5520.c | 2 +- trunk/drivers/ide/pci/cs5535.c | 42 +- trunk/drivers/ide/pci/it8213.c | 33 +- trunk/drivers/ide/pci/jmicron.c | 21 +- trunk/drivers/ide/pci/piix.c | 17 +- trunk/drivers/ide/pci/scc_pata.c | 65 +- trunk/drivers/ide/pci/sis5513.c | 1 - trunk/drivers/ide/pci/slc90e66.c | 15 +- trunk/drivers/ieee1394/Kconfig | 2 +- trunk/drivers/ieee1394/raw1394.c | 2 +- trunk/drivers/ieee1394/sbp2.c | 5 + trunk/drivers/infiniband/hw/amso1100/c2_qp.c | 1 - .../drivers/infiniband/hw/ehca/ehca_classes.h | 1 - trunk/drivers/infiniband/hw/ehca/ehca_irq.c | 2 +- trunk/drivers/infiniband/hw/ehca/ehca_mrmw.c | 6 +- trunk/drivers/infiniband/hw/ehca/ehca_pd.c | 1 + trunk/drivers/infiniband/hw/ehca/hcp_if.c | 1 + trunk/drivers/infiniband/hw/ehca/ipz_pt_fn.h | 2 - .../infiniband/hw/ipath/ipath_common.h | 3 +- .../drivers/infiniband/hw/ipath/ipath_diag.c | 1 - .../infiniband/hw/ipath/ipath_driver.c | 11 +- .../infiniband/hw/ipath/ipath_iba6120.c | 20 +- .../infiniband/hw/ipath/ipath_init_chip.c | 7 +- .../drivers/infiniband/hw/ipath/ipath_intr.c | 63 +- .../infiniband/hw/ipath/ipath_kernel.h | 13 +- .../drivers/infiniband/hw/ipath/ipath_stats.c | 54 +- trunk/drivers/infiniband/hw/mlx4/qp.c | 1 + .../drivers/infiniband/ulp/iser/iscsi_iser.c | 1 - trunk/drivers/input/evdev.c | 2 +- trunk/drivers/input/serio/Kconfig | 2 +- trunk/drivers/isdn/divert/divert_procfs.c | 4 +- trunk/drivers/kvm/x86_emulate.c | 2 - trunk/drivers/lguest/Kconfig | 12 +- trunk/drivers/lguest/Makefile | 12 - trunk/drivers/lguest/README | 47 - trunk/drivers/lguest/core.c | 362 +- trunk/drivers/lguest/hypercalls.c | 144 +- trunk/drivers/lguest/interrupts_and_traps.c | 221 +- trunk/drivers/lguest/io.c | 265 +- trunk/drivers/lguest/lg.h | 47 +- trunk/drivers/lguest/lguest.c | 549 +- trunk/drivers/lguest/lguest_asm.S | 71 +- trunk/drivers/lguest/lguest_bus.c | 76 +- trunk/drivers/lguest/lguest_user.c | 166 +- trunk/drivers/lguest/page_tables.c | 329 +- trunk/drivers/lguest/segments.c | 140 +- trunk/drivers/lguest/switcher.S | 289 +- trunk/drivers/md/dm.c | 4 +- trunk/drivers/md/raid10.c | 10 +- trunk/drivers/media/dvb/dvb-usb/af9005-fe.c | 47 +- trunk/drivers/media/dvb/frontends/dvb-pll.c | 2 +- trunk/drivers/media/video/Kconfig | 4 +- trunk/drivers/media/video/bt8xx/bttv-cards.c | 238 +- trunk/drivers/media/video/ivtv/ivtv-driver.h | 1 - trunk/drivers/media/video/ivtv/ivtv-fileops.c | 10 - .../drivers/media/video/ivtv/ivtv-firmware.c | 2 +- trunk/drivers/media/video/ivtv/ivtv-ioctl.c | 11 +- trunk/drivers/media/video/ivtv/ivtv-mailbox.c | 14 +- trunk/drivers/media/video/ivtv/ivtv-streams.c | 11 +- .../media/video/usbvision/usbvision-video.c | 5 +- trunk/drivers/media/video/zoran.h | 5 - trunk/drivers/media/video/zoran_device.c | 50 +- trunk/drivers/media/video/zoran_driver.c | 233 +- trunk/drivers/message/fusion/Kconfig | 14 - trunk/drivers/message/fusion/Makefile | 37 +- trunk/drivers/message/fusion/mptbase.c | 482 +- trunk/drivers/message/fusion/mptbase.h | 198 +- trunk/drivers/message/fusion/mptctl.c | 266 +- trunk/drivers/message/fusion/mptdebug.h | 288 - trunk/drivers/message/fusion/mptfc.c | 108 +- trunk/drivers/message/fusion/mptlan.c | 3 +- trunk/drivers/message/fusion/mptsas.c | 412 +- trunk/drivers/message/fusion/mptscsih.c | 446 +- trunk/drivers/message/fusion/mptspi.c | 53 +- trunk/drivers/message/i2o/i2o_block.c | 2 +- trunk/drivers/misc/Kconfig | 22 +- trunk/drivers/misc/sony-laptop.c | 7 +- trunk/drivers/misc/thinkpad_acpi.c | 10 +- trunk/drivers/misc/thinkpad_acpi.h | 2 - trunk/drivers/mmc/card/queue.c | 16 +- trunk/drivers/mmc/core/bus.c | 23 - trunk/drivers/mmc/core/core.c | 144 +- trunk/drivers/mmc/core/core.h | 22 + trunk/drivers/mmc/core/host.c | 7 +- trunk/drivers/mmc/core/mmc.c | 26 +- trunk/drivers/mmc/core/mmc_ops.c | 2 +- trunk/drivers/mmc/core/mmc_ops.h | 2 +- trunk/drivers/mmc/core/sd.c | 36 +- trunk/drivers/mmc/core/sd_ops.c | 62 +- trunk/drivers/mmc/core/sd_ops.h | 3 +- trunk/drivers/mmc/host/at91_mci.c | 10 +- trunk/drivers/mmc/host/au1xmmc.c | 2 +- trunk/drivers/mmc/host/imxmmc.c | 2 +- trunk/drivers/mmc/host/mmci.c | 2 +- trunk/drivers/mmc/host/mmci.h | 2 +- trunk/drivers/mmc/host/omap.c | 2 +- trunk/drivers/mmc/host/pxamci.c | 2 +- trunk/drivers/mmc/host/sdhci.c | 63 +- trunk/drivers/mmc/host/sdhci.h | 2 +- trunk/drivers/mmc/host/wbsd.c | 25 +- trunk/drivers/mmc/host/wbsd.h | 2 +- trunk/drivers/mtd/Makefile | 2 +- trunk/drivers/mtd/devices/docprobe.c | 3 + trunk/drivers/mtd/maps/Kconfig | 2 +- trunk/drivers/mtd/mtdchar.c | 1 - trunk/drivers/mtd/mtdpart.c | 4 + trunk/drivers/mtd/nand/at91_nand.c | 5 +- trunk/drivers/mtd/nand/diskonchip.c | 3 + trunk/drivers/mtd/nand/edb7312.c | 10 +- trunk/drivers/mtd/nand/nand_base.c | 12 +- trunk/drivers/mtd/rfd_ftl.c | 1 - trunk/drivers/net/3c59x.c | 2 +- trunk/drivers/net/8139cp.c | 1 + trunk/drivers/net/8139too.c | 1 + trunk/drivers/net/Kconfig | 2 +- trunk/drivers/net/Makefile | 2 +- trunk/drivers/net/atl1/atl1_main.c | 4 +- trunk/drivers/net/ax88796.c | 8 +- trunk/drivers/net/b44.c | 1 + trunk/drivers/net/bfin_mac.c | 6 +- trunk/drivers/net/bnx2.c | 13 +- trunk/drivers/net/bonding/bond_main.c | 86 +- trunk/drivers/net/cxgb3/cxgb3_main.c | 1 + trunk/drivers/net/cxgb3/cxgb3_offload.c | 2 +- trunk/drivers/net/e100.c | 1 + trunk/drivers/net/e1000/e1000_ethtool.c | 3 +- trunk/drivers/net/e1000/e1000_hw.c | 5 - trunk/drivers/net/e1000/e1000_hw.h | 3 - trunk/drivers/net/e1000/e1000_main.c | 4 - trunk/drivers/net/ehea/ehea.h | 2 +- trunk/drivers/net/ehea/ehea_main.c | 44 +- trunk/drivers/net/fec.c | 49 +- trunk/drivers/net/forcedeth.c | 37 +- trunk/drivers/net/gianfar_mii.c | 2 +- trunk/drivers/net/gianfar_mii.h | 2 +- trunk/drivers/net/hamradio/bpqether.c | 6 +- trunk/drivers/net/ibmveth.c | 27 +- trunk/drivers/net/ibmveth.h | 3 + trunk/drivers/net/irda/irda-usb.c | 24 +- trunk/drivers/net/ixgb/ixgb_ethtool.c | 1 + trunk/drivers/net/lguest_net.c | 237 +- trunk/drivers/net/lib8390.c | 55 +- trunk/drivers/net/loopback.c | 7 +- trunk/drivers/net/mlx4/mr.c | 15 +- trunk/drivers/net/myri10ge/myri10ge.c | 25 +- trunk/drivers/net/natsemi.c | 3 - trunk/drivers/net/ne2k-pci.c | 1 + trunk/drivers/net/netxen/netxen_nic_ethtool.c | 1 + trunk/drivers/net/netxen/netxen_nic_main.c | 44 +- trunk/drivers/net/pcmcia/nmclan_cs.c | 4 +- trunk/drivers/net/pcmcia/smc91c92_cs.c | 23 +- trunk/drivers/net/pcnet32.c | 1 + trunk/drivers/net/phy/phy.c | 4 +- trunk/drivers/net/pppoe.c | 37 +- trunk/drivers/net/pppol2tp.c | 4 +- trunk/drivers/net/pppox.c | 11 +- trunk/drivers/net/qla3xxx.c | 1 + trunk/drivers/net/r8169.c | 25 +- trunk/drivers/net/s2io-regs.h | 5 +- trunk/drivers/net/s2io.c | 545 +- trunk/drivers/net/s2io.h | 11 +- trunk/drivers/net/sc92031.c | 1 + trunk/drivers/net/sis190.c | 3 - trunk/drivers/net/skfp/pmf.c | 2 +- trunk/drivers/net/skge.c | 1 + trunk/drivers/net/sky2.c | 1 + trunk/drivers/net/smc91x.h | 4 +- trunk/drivers/net/sundance.c | 1 + trunk/drivers/net/sunlance.c | 48 +- trunk/drivers/net/sunvnet.c | 1 + trunk/drivers/net/tc35815.c | 1 + trunk/drivers/net/tg3.c | 18 +- trunk/drivers/net/tulip/tulip_core.c | 8 + trunk/drivers/net/ucc_geth_ethtool.c | 1 + trunk/drivers/net/ucc_geth_mii.c | 3 +- trunk/drivers/net/usb/pegasus.c | 4 +- trunk/drivers/net/via-rhine.c | 7 +- trunk/drivers/net/via-velocity.c | 2 +- trunk/drivers/net/wan/hdlc_fr.c | 3 +- .../net/wireless/bcm43xx/bcm43xx_phy.c | 2 +- trunk/drivers/net/wireless/rtl8187_dev.c | 2 +- trunk/drivers/net/wireless/zd1211rw/zd_mac.c | 2 +- trunk/drivers/net/xen-netfront.c | 7 +- trunk/drivers/parport/parport_pc.c | 4 + trunk/drivers/pci/pci-acpi.c | 4 - trunk/drivers/pci/pci-driver.c | 2 +- trunk/drivers/pci/pci.c | 9 +- trunk/drivers/pcmcia/cs.c | 3 - trunk/drivers/pnp/card.c | 166 +- trunk/drivers/pnp/core.c | 50 +- trunk/drivers/pnp/driver.c | 70 +- trunk/drivers/pnp/interface.c | 217 +- trunk/drivers/pnp/isapnp/compat.c | 39 +- trunk/drivers/pnp/isapnp/core.c | 332 +- trunk/drivers/pnp/isapnp/proc.c | 21 +- trunk/drivers/pnp/manager.c | 144 +- trunk/drivers/pnp/pnpacpi/core.c | 102 +- trunk/drivers/pnp/pnpacpi/rsparser.c | 441 +- trunk/drivers/pnp/pnpbios/bioscalls.c | 339 +- trunk/drivers/pnp/pnpbios/core.c | 257 +- trunk/drivers/pnp/pnpbios/proc.c | 107 +- trunk/drivers/pnp/pnpbios/rsparser.c | 349 +- trunk/drivers/pnp/quirks.c | 80 +- trunk/drivers/pnp/resource.c | 102 +- trunk/drivers/pnp/support.c | 17 +- trunk/drivers/pnp/system.c | 40 +- trunk/drivers/power/Kconfig | 2 +- trunk/drivers/rtc/Kconfig | 78 +- trunk/drivers/rtc/Makefile | 42 +- trunk/drivers/rtc/rtc-bfin.c | 2 +- trunk/drivers/rtc/rtc-dev.c | 2 - trunk/drivers/rtc/rtc-ds1307.c | 2 +- trunk/drivers/rtc/rtc-m48t59.c | 2 +- trunk/drivers/rtc/rtc-s3c.c | 2 +- trunk/drivers/rtc/rtc-sh.c | 1 - trunk/drivers/rtc/rtc-stk17ta8.c | 6 +- trunk/drivers/s390/block/dasd_eckd.c | 4 +- trunk/drivers/s390/char/Kconfig | 12 +- trunk/drivers/s390/char/monwriter.c | 6 - trunk/drivers/s390/char/raw3270.c | 6 +- trunk/drivers/s390/char/sclp_vt220.c | 62 +- trunk/drivers/s390/char/vmur.c | 178 +- trunk/drivers/s390/char/vmur.h | 5 +- trunk/drivers/s390/cio/blacklist.c | 19 +- trunk/drivers/s390/cio/ccwgroup.c | 3 + trunk/drivers/s390/cio/chp.c | 19 +- trunk/drivers/s390/cio/chsc.c | 26 +- trunk/drivers/s390/cio/chsc.h | 2 - trunk/drivers/s390/cio/cio.c | 13 +- trunk/drivers/s390/cio/cio_debug.h | 2 - trunk/drivers/s390/cio/cmf.c | 16 +- trunk/drivers/s390/cio/css.c | 33 +- trunk/drivers/s390/cio/css.h | 1 + trunk/drivers/s390/cio/device.c | 60 +- trunk/drivers/s390/cio/device_fsm.c | 20 +- trunk/drivers/s390/cio/device_ops.c | 257 + trunk/drivers/s390/cio/qdio.c | 92 +- trunk/drivers/s390/scsi/zfcp_fsf.c | 5 +- trunk/drivers/s390/scsi/zfcp_qdio.c | 41 +- trunk/drivers/sbus/char/bbc_envctrl.c | 10 +- trunk/drivers/sbus/char/bbc_i2c.c | 4 +- trunk/drivers/sbus/char/vfc_dev.c | 1 - trunk/drivers/sbus/sbus.c | 9 - trunk/drivers/scsi/aacraid/aachba.c | 66 +- trunk/drivers/scsi/aacraid/aacraid.h | 6 +- trunk/drivers/scsi/aacraid/linit.c | 9 +- trunk/drivers/scsi/aacraid/nark.c | 3 +- trunk/drivers/scsi/aacraid/rkt.c | 2 +- trunk/drivers/scsi/aacraid/rx.c | 2 +- trunk/drivers/scsi/advansys.c | 28371 ++++++++-------- trunk/drivers/scsi/aha152x.c | 169 +- trunk/drivers/scsi/aha152x.h | 2 +- trunk/drivers/scsi/aic7xxx/aic79xx_osm.c | 23 +- trunk/drivers/scsi/aic7xxx/aic7xxx_core.c | 22 +- trunk/drivers/scsi/aic7xxx/aic7xxx_osm.c | 11 +- trunk/drivers/scsi/aic94xx/aic94xx_init.c | 4 +- trunk/drivers/scsi/arm/Kconfig | 9 + trunk/drivers/scsi/arm/Makefile | 1 + trunk/drivers/scsi/arm/ecoscsi.c | 166 + trunk/drivers/scsi/dpt_i2o.c | 132 +- trunk/drivers/scsi/dpti.h | 9 +- trunk/drivers/scsi/esp_scsi.h | 2 +- trunk/drivers/scsi/gdth.c | 48 +- trunk/drivers/scsi/gdth.h | 6 + trunk/drivers/scsi/hosts.c | 2 +- trunk/drivers/scsi/ibmvscsi/ibmvscsi.c | 39 +- trunk/drivers/scsi/ide-scsi.c | 10 +- trunk/drivers/scsi/iscsi_tcp.c | 2 - trunk/drivers/scsi/libiscsi.c | 47 +- trunk/drivers/scsi/libsas/Kconfig | 3 +- trunk/drivers/scsi/libsas/sas_ata.c | 30 +- trunk/drivers/scsi/libsas/sas_discover.c | 3 +- trunk/drivers/scsi/libsas/sas_dump.c | 2 +- trunk/drivers/scsi/libsas/sas_expander.c | 18 +- trunk/drivers/scsi/lpfc/lpfc.h | 72 +- trunk/drivers/scsi/lpfc/lpfc_attr.c | 423 +- trunk/drivers/scsi/lpfc/lpfc_crtn.h | 28 +- trunk/drivers/scsi/lpfc/lpfc_ct.c | 243 +- trunk/drivers/scsi/lpfc/lpfc_debugfs.c | 595 +- trunk/drivers/scsi/lpfc/lpfc_debugfs.h | 2 +- trunk/drivers/scsi/lpfc/lpfc_els.c | 679 +- trunk/drivers/scsi/lpfc/lpfc_hbadisc.c | 539 +- trunk/drivers/scsi/lpfc/lpfc_hw.h | 14 +- trunk/drivers/scsi/lpfc/lpfc_init.c | 284 +- trunk/drivers/scsi/lpfc/lpfc_logmsg.h | 10 +- trunk/drivers/scsi/lpfc/lpfc_mbox.c | 20 +- trunk/drivers/scsi/lpfc/lpfc_mem.c | 32 +- trunk/drivers/scsi/lpfc/lpfc_nportdisc.c | 162 +- trunk/drivers/scsi/lpfc/lpfc_scsi.c | 413 +- trunk/drivers/scsi/lpfc/lpfc_sli.c | 423 +- trunk/drivers/scsi/lpfc/lpfc_sli.h | 10 +- trunk/drivers/scsi/lpfc/lpfc_version.h | 4 +- trunk/drivers/scsi/lpfc/lpfc_vport.c | 164 +- trunk/drivers/scsi/lpfc/lpfc_vport.h | 2 - trunk/drivers/scsi/qla2xxx/qla_attr.c | 39 +- trunk/drivers/scsi/qla2xxx/qla_def.h | 4 - trunk/drivers/scsi/qla2xxx/qla_init.c | 19 +- trunk/drivers/scsi/qla2xxx/qla_isr.c | 4 +- trunk/drivers/scsi/qla2xxx/qla_os.c | 14 - trunk/drivers/scsi/qlogicpti.c | 50 +- trunk/drivers/scsi/scsi_devinfo.c | 3 - trunk/drivers/scsi/scsi_lib.c | 17 + trunk/drivers/scsi/sd.c | 14 +- trunk/drivers/scsi/st.c | 16 +- trunk/drivers/scsi/st.h | 3 +- trunk/drivers/scsi/sym53c8xx_2/sym_glue.c | 2 +- trunk/drivers/serial/8250.c | 2 +- trunk/drivers/serial/8250_early.c | 2 +- trunk/drivers/serial/8250_pci.c | 20 + trunk/drivers/serial/Kconfig | 16 +- trunk/drivers/serial/mpsc.c | 711 +- trunk/drivers/serial/sb1250-duart.c | 14 +- trunk/drivers/serial/serial_txx9.c | 5 +- trunk/drivers/serial/sh-sci.c | 9 +- trunk/drivers/serial/sh-sci.h | 66 +- trunk/drivers/serial/vr41xx_siu.c | 7 +- trunk/drivers/spi/spi.c | 45 +- trunk/drivers/spi/spi_mpc83xx.c | 55 +- trunk/drivers/spi/spi_s3c24xx.c | 2 +- trunk/drivers/spi/spidev.c | 17 +- trunk/drivers/usb/Makefile | 1 - trunk/drivers/usb/core/message.c | 41 +- trunk/drivers/usb/core/quirks.c | 22 - trunk/drivers/usb/gadget/config.c | 2 +- trunk/drivers/usb/gadget/epautoconf.c | 2 +- trunk/drivers/usb/gadget/ether.c | 3 +- trunk/drivers/usb/gadget/inode.c | 4 +- trunk/drivers/usb/gadget/m66592-udc.c | 2 +- trunk/drivers/usb/gadget/pxa2xx_udc.c | 30 + trunk/drivers/usb/gadget/zero.c | 6 +- trunk/drivers/usb/serial/cp2101.c | 69 +- trunk/drivers/usb/serial/digi_acceleport.c | 970 +- trunk/drivers/usb/serial/io_edgeport.c | 19 +- trunk/drivers/usb/serial/mct_u232.c | 54 +- trunk/drivers/usb/serial/mct_u232.h | 2 +- trunk/drivers/usb/serial/sierra.c | 7 +- trunk/drivers/usb/serial/usb-serial.c | 32 +- trunk/drivers/usb/storage/unusual_devs.h | 21 - trunk/drivers/video/Kconfig | 12 + trunk/drivers/video/Makefile | 1 + trunk/drivers/video/acornfb.c | 20 + trunk/drivers/video/bw2.c | 105 +- trunk/drivers/video/cg14.c | 150 +- trunk/drivers/video/cg3.c | 136 +- trunk/drivers/video/cg6.c | 166 +- trunk/drivers/video/chipsfb.c | 3 +- trunk/drivers/video/console/fbcon.c | 14 +- trunk/drivers/video/console/fonts.c | 4 +- trunk/drivers/video/fbmem.c | 42 +- trunk/drivers/video/ffb.c | 170 +- trunk/drivers/video/geode/Kconfig | 15 - trunk/drivers/video/geode/Makefile | 2 - trunk/drivers/video/geode/lxfb.h | 199 - trunk/drivers/video/geode/lxfb_core.c | 621 - trunk/drivers/video/geode/lxfb_ops.c | 536 - trunk/drivers/video/leo.c | 147 +- trunk/drivers/video/matrox/g450_pll.c | 23 +- trunk/drivers/video/matrox/matroxfb_DAC1064.h | 15 - trunk/drivers/video/matrox/matroxfb_base.h | 1 - trunk/drivers/video/matrox/matroxfb_misc.c | 1 - trunk/drivers/video/p9100.c | 138 +- trunk/drivers/video/pvr2fb.c | 16 +- trunk/drivers/video/s3c2410fb.c | 88 +- trunk/drivers/video/s3c2410fb.h | 3 - trunk/drivers/video/sbuslib.c | 25 + trunk/drivers/video/stifb.c | 19 +- trunk/drivers/video/tcx.c | 184 +- trunk/drivers/video/tgafb.c | 2 +- trunk/drivers/video/tx3912fb.c | 326 + trunk/drivers/video/xilinxfb.c | 23 +- trunk/drivers/w1/masters/ds1wm.c | 2 +- trunk/drivers/xen/xenbus/xenbus_xs.c | 2 +- trunk/fs/afs/flock.c | 126 +- trunk/fs/cifs/CHANGES | 5 +- trunk/fs/cifs/README | 7 + trunk/fs/cifs/TODO | 3 +- trunk/fs/cifs/file.c | 33 +- trunk/fs/compat_ioctl.c | 23 +- trunk/fs/dcookies.c | 1 - trunk/fs/direct-io.c | 1 - trunk/fs/dlm/lock.c | 69 +- trunk/fs/dlm/lowcomms.c | 24 +- trunk/fs/dlm/member.c | 4 +- trunk/fs/dlm/rcom.c | 7 +- trunk/fs/ecryptfs/inode.c | 4 - trunk/fs/ecryptfs/main.c | 18 +- trunk/fs/exec.c | 13 +- trunk/fs/ext2/super.c | 2 +- trunk/fs/ext3/super.c | 2 +- trunk/fs/ext4/extents.c | 2 +- trunk/fs/ext4/super.c | 2 +- trunk/fs/gfs2/lops.c | 6 +- trunk/fs/gfs2/mount.c | 25 +- trunk/fs/gfs2/ops_address.c | 3 +- trunk/fs/gfs2/ops_file.c | 31 +- trunk/fs/gfs2/rgrp.c | 16 +- trunk/fs/isofs/inode.c | 9 - trunk/fs/jffs2/background.c | 8 +- trunk/fs/jffs2/nodelist.h | 5 - trunk/fs/jffs2/readinode.c | 4 +- trunk/fs/jffs2/scan.c | 3 +- trunk/fs/jffs2/write.c | 15 +- trunk/fs/lockd/svclock.c | 6 +- trunk/fs/locks.c | 8 +- trunk/fs/ncpfs/ncplib_kernel.c | 3 + trunk/fs/nfs/delegation.c | 21 +- trunk/fs/nfs/inode.c | 24 +- trunk/fs/nfs/namespace.c | 6 +- trunk/fs/nfs/nfs4proc.c | 16 +- trunk/fs/nfs/nfs4renewd.c | 5 +- trunk/fs/nfs/nfs4state.c | 5 +- trunk/fs/nfsd/export.c | 5 +- trunk/fs/nfsd/nfs4idmap.c | 6 +- trunk/fs/nfsd/nfs4proc.c | 10 +- trunk/fs/nfsd/nfs4xdr.c | 2 +- trunk/fs/nfsd/vfs.c | 5 +- trunk/fs/ocfs2/alloc.c | 4 + trunk/fs/ocfs2/cluster/tcp.c | 24 +- trunk/fs/ocfs2/file.c | 28 +- trunk/fs/ocfs2/namei.c | 16 +- trunk/fs/ocfs2/ocfs2.h | 8 +- trunk/fs/ocfs2/super.c | 69 +- trunk/fs/ocfs2/super.h | 2 + trunk/fs/open.c | 16 +- trunk/fs/partitions/msdos.c | 5 +- trunk/fs/partitions/sun.c | 62 +- trunk/fs/partitions/sun.h | 1 - trunk/fs/pipe.c | 2 +- trunk/fs/proc/base.c | 2 +- trunk/fs/proc/inode.c | 24 +- trunk/fs/quota.c | 2 +- trunk/fs/ramfs/file-nommu.c | 7 +- trunk/fs/reiserfs/stree.c | 5 +- trunk/fs/signalfd.c | 2 +- trunk/fs/splice.c | 4 +- trunk/fs/timerfd.c | 6 +- trunk/fs/udf/inode.c | 10 +- trunk/fs/udf/super.c | 2 - trunk/fs/udf/udf_sb.h | 2 - trunk/fs/xfs/linux-2.6/xfs_ioctl32.c | 4 +- trunk/include/acpi/acpi_bus.h | 9 - trunk/include/acpi/acpi_drivers.h | 4 - trunk/include/acpi/processor.h | 2 +- trunk/include/asm-alpha/bitops.h | 2 +- trunk/include/asm-alpha/fcntl.h | 1 - trunk/include/asm-alpha/thread_info.h | 24 +- trunk/include/asm-arm/arch-mxc/uncompress.h | 3 +- trunk/include/asm-arm/pgtable-nommu.h | 1 + trunk/include/asm-arm/thread_info.h | 7 +- trunk/include/asm-arm/unaligned.h | 22 +- trunk/include/asm-arm26/a.out.h | 39 + trunk/include/asm-arm26/assembler.h | 106 + trunk/include/asm-arm26/atomic.h | 123 + trunk/include/asm-arm26/auxvec.h | 4 + trunk/include/asm-arm26/bitops.h | 207 + trunk/include/asm-arm26/bug.h | 19 + trunk/include/asm-arm26/bugs.h | 15 + trunk/include/asm-arm26/byteorder.h | 24 + trunk/include/asm-arm26/cache.h | 12 + trunk/include/asm-arm26/cacheflush.h | 53 + trunk/include/asm-arm26/checksum.h | 151 + trunk/include/asm-arm26/constants.h | 28 + trunk/include/asm-arm26/cputime.h | 6 + trunk/include/asm-arm26/current.h | 15 + trunk/include/asm-arm26/delay.h | 34 + trunk/include/asm-arm26/device.h | 7 + trunk/include/asm-arm26/div64.h | 1 + trunk/include/asm-arm26/dma.h | 183 + trunk/include/asm-arm26/ecard.h | 294 + trunk/include/asm-arm26/elf.h | 77 + trunk/include/asm-arm26/emergency-restart.h | 6 + trunk/include/asm-arm26/errno.h | 6 + trunk/include/asm-arm26/fb.h | 12 + trunk/include/asm-arm26/fcntl.h | 13 + trunk/include/asm-arm26/fiq.h | 37 + trunk/include/asm-arm26/floppy.h | 141 + trunk/include/asm-arm26/fpstate.h | 29 + trunk/include/asm-arm26/futex.h | 6 + trunk/include/asm-arm26/hardirq.h | 32 + trunk/include/asm-arm26/hardware.h | 109 + trunk/include/asm-arm26/ide.h | 34 + trunk/include/asm-arm26/io.h | 434 + trunk/include/asm-arm26/ioc.h | 72 + trunk/include/asm-arm26/ioctl.h | 1 + trunk/include/asm-arm26/ioctls.h | 85 + trunk/include/asm-arm26/ipc.h | 1 + trunk/include/asm-arm26/ipcbuf.h | 29 + trunk/include/asm-arm26/irq.h | 43 + trunk/include/asm-arm26/irqchip.h | 101 + trunk/include/asm-arm26/kdebug.h | 1 + trunk/include/asm-arm26/kmap_types.h | 12 + trunk/include/asm-arm26/leds.h | 50 + trunk/include/asm-arm26/limits.h | 11 + trunk/include/asm-arm26/linkage.h | 7 + trunk/include/asm-arm26/local.h | 2 + trunk/include/asm-arm26/locks.h | 161 + trunk/include/asm-arm26/mach-types.h | 36 + trunk/include/asm-arm26/map.h | 24 + trunk/include/asm-arm26/mc146818rtc.h | 28 + trunk/include/asm-arm26/memory.h | 101 + trunk/include/asm-arm26/mman.h | 17 + trunk/include/asm-arm26/mmu.h | 9 + trunk/include/asm-arm26/mmu_context.h | 53 + trunk/include/asm-arm26/module.h | 7 + trunk/include/asm-arm26/msgbuf.h | 31 + trunk/include/asm-arm26/namei.h | 25 + trunk/include/asm-arm26/oldlatches.h | 37 + trunk/include/asm-arm26/page.h | 102 + trunk/include/asm-arm26/param.h | 33 + trunk/include/asm-arm26/parport.h | 18 + trunk/include/asm-arm26/pci.h | 6 + trunk/include/asm-arm26/percpu.h | 6 + trunk/include/asm-arm26/pgalloc.h | 70 + trunk/include/asm-arm26/pgtable.h | 298 + trunk/include/asm-arm26/poll.h | 8 + trunk/include/asm-arm26/posix_types.h | 81 + trunk/include/asm-arm26/proc-fns.h | 49 + trunk/include/asm-arm26/processor.h | 113 + trunk/include/asm-arm26/procinfo.h | 56 + trunk/include/asm-arm26/ptrace.h | 104 + trunk/include/asm-arm26/resource.h | 6 + trunk/include/asm-arm26/scatterlist.h | 26 + trunk/include/asm-arm26/sections.h | 2 + trunk/include/asm-arm26/segment.h | 11 + trunk/include/asm-arm26/semaphore-helper.h | 84 + trunk/include/asm-arm26/semaphore.h | 100 + trunk/include/asm-arm26/sembuf.h | 25 + trunk/include/asm-arm26/serial.h | 44 + trunk/include/asm-arm26/setup.h | 209 + trunk/include/asm-arm26/shmbuf.h | 42 + trunk/include/asm-arm26/shmparam.h | 15 + trunk/include/asm-arm26/sigcontext.h | 33 + trunk/include/asm-arm26/siginfo.h | 6 + trunk/include/asm-arm26/signal.h | 176 + trunk/include/asm-arm26/sizes.h | 52 + trunk/include/asm-arm26/smp.h | 9 + trunk/include/asm-arm26/socket.h | 55 + trunk/include/asm-arm26/sockios.h | 13 + trunk/include/asm-arm26/spinlock.h | 6 + trunk/include/asm-arm26/stat.h | 77 + trunk/include/asm-arm26/statfs.h | 8 + trunk/include/asm-arm26/string.h | 43 + trunk/include/asm-arm26/suspend.h | 4 + trunk/include/asm-arm26/sysirq.h | 60 + trunk/include/asm-arm26/system.h | 247 + trunk/include/asm-arm26/termbits.h | 196 + trunk/include/asm-arm26/termios.h | 92 + trunk/include/asm-arm26/thread_info.h | 140 + trunk/include/asm-arm26/timex.h | 29 + trunk/include/asm-arm26/tlb.h | 63 + trunk/include/asm-arm26/tlbflush.h | 70 + trunk/include/asm-arm26/topology.h | 6 + trunk/include/asm-arm26/types.h | 59 + trunk/include/asm-arm26/uaccess-asm.h | 153 + trunk/include/asm-arm26/uaccess.h | 293 + trunk/include/asm-arm26/ucontext.h | 12 + trunk/include/asm-arm26/unaligned.h | 118 + trunk/include/asm-arm26/uncompress.h | 111 + trunk/include/asm-arm26/unistd.h | 343 + trunk/include/asm-arm26/user.h | 84 + trunk/include/asm-arm26/xor.h | 141 + trunk/include/asm-avr32/bug.h | 2 +- trunk/include/asm-avr32/thread_info.h | 18 +- trunk/include/asm-blackfin/bfin-global.h | 1 - .../asm-blackfin/mach-bf548/cdefBF54x_base.h | 33 - trunk/include/asm-blackfin/mach-bf548/irq.h | 1 - .../asm-blackfin/mach-bf561/cdefBF561.h | 6 - .../asm-blackfin/mach-bf561/defBF561.h | 4 - trunk/include/asm-blackfin/thread_info.h | 26 +- trunk/include/asm-cris/thread_info.h | 6 +- trunk/include/asm-frv/mb86943a.h | 3 - trunk/include/asm-frv/thread_info.h | 12 +- trunk/include/asm-frv/unistd.h | 3 +- trunk/include/asm-generic/bug.h | 6 +- trunk/include/asm-generic/pgtable.h | 73 +- trunk/include/asm-generic/unaligned.h | 12 +- trunk/include/asm-h8300/thread_info.h | 12 +- trunk/include/asm-i386/apic.h | 2 - trunk/include/asm-i386/cpufeature.h | 2 +- trunk/include/asm-i386/e820.h | 2 +- trunk/include/asm-i386/paravirt.h | 16 +- trunk/include/asm-i386/pci.h | 3 - trunk/include/asm-i386/serial.h | 16 - trunk/include/asm-i386/thread_info.h | 18 +- trunk/include/asm-ia64/thread_info.h | 20 +- trunk/include/asm-m32r/thread_info.h | 10 +- trunk/include/asm-m68k/raw_io.h | 8 +- trunk/include/asm-m68k/system.h | 33 +- trunk/include/asm-m68knommu/hardirq.h | 2 - trunk/include/asm-m68knommu/machdep.h | 38 +- trunk/include/asm-m68knommu/thread_info.h | 10 +- trunk/include/asm-mips/a.out.h | 3 +- trunk/include/asm-mips/bootinfo.h | 13 + trunk/include/asm-mips/ddb5xxx/ddb5477.h | 342 + trunk/include/asm-mips/ddb5xxx/ddb5xxx.h | 263 + trunk/include/asm-mips/edac.h | 35 - trunk/include/asm-mips/elf.h | 13 +- trunk/include/asm-mips/hazards.h | 7 +- .../mach-tx49xx/cpu-feature-overrides.h | 23 - trunk/include/asm-mips/mach-tx49xx/kmalloc.h | 8 - trunk/include/asm-mips/mips-boards/generic.h | 1 - trunk/include/asm-mips/mips_mt.h | 6 - trunk/include/asm-mips/pmon.h | 2 +- trunk/include/asm-mips/processor.h | 20 +- trunk/include/asm-mips/seccomp.h | 37 - trunk/include/asm-mips/system.h | 8 +- trunk/include/asm-mips/thread_info.h | 27 +- trunk/include/asm-mips/tx3912.h | 361 + .../asm-mips/tx4927/toshiba_rbtx4927.h | 2 - trunk/include/asm-mips/unistd.h | 15 +- trunk/include/asm-mips/war.h | 5 +- trunk/include/asm-parisc/bug.h | 2 +- trunk/include/asm-parisc/thread_info.h | 16 +- trunk/include/asm-powerpc/bug.h | 4 +- trunk/include/asm-powerpc/dma-mapping.h | 2 +- trunk/include/asm-powerpc/mmu-hash64.h | 1 - trunk/include/asm-powerpc/page.h | 1 + trunk/include/asm-powerpc/pci-bridge.h | 20 - trunk/include/asm-powerpc/pgtable-64k.h | 8 +- trunk/include/asm-powerpc/ppc_asm.h | 12 - trunk/include/asm-powerpc/spu_priv1.h | 7 - trunk/include/asm-powerpc/thread_info.h | 36 +- trunk/include/asm-powerpc/vio.h | 5 - trunk/include/asm-ppc/mv64x60.h | 8 + trunk/include/asm-s390/bug.h | 2 +- trunk/include/asm-s390/ccwdev.h | 5 + trunk/include/asm-s390/s390_ext.h | 2 - trunk/include/asm-s390/smp.h | 11 +- trunk/include/asm-s390/unistd.h | 2 +- trunk/include/asm-sh/bug.h | 2 +- trunk/include/asm-sh/bugs.h | 4 +- trunk/include/asm-sh/cpu-sh3/freq.h | 4 + trunk/include/asm-sh/cpu-sh3/mmu_context.h | 1 + trunk/include/asm-sh/cpu-sh3/timer.h | 3 +- trunk/include/asm-sh/cpu-sh4/freq.h | 2 +- trunk/include/asm-sh/dma-mapping.h | 8 +- trunk/include/asm-sh/dma.h | 1 - trunk/include/asm-sh/fixmap.h | 8 +- trunk/include/asm-sh/floppy.h | 4 +- trunk/include/asm-sh/io.h | 4 + trunk/include/asm-sh/pgtable.h | 6 +- trunk/include/asm-sh/processor.h | 4 +- trunk/include/asm-sh/rts7751r2d.h | 2 +- trunk/include/asm-sh/se7300.h | 64 + trunk/include/asm-sh/se73180.h | 66 + trunk/include/asm-sh/thread_info.h | 10 +- trunk/include/asm-sh/ubc.h | 3 +- trunk/include/asm-sh64/dma-mapping.h | 8 +- trunk/include/asm-sh64/io.h | 4 + trunk/include/asm-sparc/device.h | 4 - trunk/include/asm-sparc/fcntl.h | 1 - trunk/include/asm-sparc/floppy.h | 100 +- trunk/include/asm-sparc/irq.h | 7 +- trunk/include/asm-sparc/prom.h | 1 - trunk/include/asm-sparc64/dma-mapping.h | 347 +- trunk/include/asm-sparc64/fbio.h | 28 - trunk/include/asm-sparc64/fcntl.h | 2 +- trunk/include/asm-sparc64/floppy.h | 6 +- trunk/include/asm-sparc64/iommu.h | 11 +- trunk/include/asm-sparc64/oplib.h | 7 +- trunk/include/asm-sparc64/parport.h | 2 +- trunk/include/asm-sparc64/pci.h | 152 +- trunk/include/asm-sparc64/prom.h | 1 - trunk/include/asm-sparc64/sbus.h | 86 +- trunk/include/asm-sparc64/spitfire.h | 7 - trunk/include/asm-sparc64/xor.h | 6 +- trunk/include/asm-v850/thread_info.h | 10 +- trunk/include/asm-x86_64/pci.h | 2 - trunk/include/asm-x86_64/serial.h | 16 - trunk/include/asm-x86_64/tce.h | 6 +- trunk/include/asm-x86_64/thread_info.h | 2 + trunk/include/asm-x86_64/uaccess.h | 4 +- trunk/include/asm-xtensa/thread_info.h | 14 +- trunk/include/linux/Kbuild | 1 - trunk/include/linux/bio.h | 3 - trunk/include/linux/blkdev.h | 4 +- trunk/include/linux/blktrace_api.h | 3 +- trunk/include/linux/bsg.h | 23 +- trunk/include/linux/clockchips.h | 1 + trunk/include/linux/compiler.h | 4 +- trunk/include/linux/cpu.h | 2 + trunk/include/linux/device.h | 3 - trunk/include/linux/dvb/video.h | 1 - trunk/include/linux/ethtool.h | 4 + trunk/include/linux/freezer.h | 6 +- trunk/include/linux/fs.h | 3 +- trunk/include/linux/genhd.h | 2 +- trunk/include/linux/hugetlb.h | 2 - trunk/include/linux/i2c.h | 4 - trunk/include/linux/init.h | 4 +- trunk/include/linux/interrupt.h | 4 +- trunk/include/linux/ipv6.h | 5 +- trunk/include/linux/irq.h | 1 - trunk/include/linux/kdebug.h | 2 - trunk/include/linux/kernel.h | 4 +- trunk/include/linux/kobject.h | 26 +- trunk/include/linux/lguest.h | 51 +- trunk/include/linux/lguest_bus.h | 5 +- trunk/include/linux/lguest_launcher.h | 60 +- trunk/include/linux/mm.h | 38 +- trunk/include/linux/mmc/core.h | 2 +- trunk/include/linux/mmzone.h | 1 + trunk/include/linux/mv643xx.h | 8 - trunk/include/linux/netdevice.h | 2 - trunk/include/linux/netfilter/Kbuild | 1 - trunk/include/linux/netfilter/xt_connlimit.h | 4 +- trunk/include/linux/nfs_fs.h | 2 +- trunk/include/linux/notifier.h | 13 - trunk/include/linux/pci.h | 2 +- trunk/include/linux/pci_ids.h | 3 +- trunk/include/linux/pm.h | 16 +- trunk/include/linux/pnp.h | 191 +- trunk/include/linux/pnpbios.h | 60 +- trunk/include/linux/preempt.h | 44 - trunk/include/linux/proc_fs.h | 1 + trunk/include/linux/rcupdate.h | 1 + trunk/include/linux/reiserfs_fs.h | 8 +- trunk/include/linux/sched.h | 63 +- trunk/include/linux/skbuff.h | 4 +- trunk/include/linux/spi/spi.h | 59 +- trunk/include/linux/spi/spidev.h | 4 - trunk/include/linux/suspend.h | 19 +- trunk/include/linux/sysctl.h | 2 +- trunk/include/linux/topology.h | 1 + trunk/include/linux/tty.h | 2 - trunk/include/linux/usb.h | 2 - trunk/include/net/af_unix.h | 29 + trunk/include/net/bluetooth/l2cap.h | 50 +- trunk/include/net/ipv6.h | 1 - .../net/netfilter/ipv4/nf_conntrack_ipv4.h | 2 - .../net/netfilter/ipv6/nf_conntrack_ipv6.h | 3 + .../net/netfilter/nf_conntrack_tuple.h | 4 +- trunk/include/net/netlabel.h | 2 - trunk/include/net/sctp/sctp.h | 10 - trunk/include/net/tcp.h | 4 +- trunk/include/scsi/libiscsi.h | 3 - trunk/include/scsi/libsas.h | 2 +- trunk/include/scsi/scsi_driver.h | 2 + trunk/include/scsi/sd.h | 2 + trunk/include/video/tx3912.h | 62 + trunk/include/xen/page.h | 1 - trunk/init/Kconfig | 23 +- trunk/init/initramfs.c | 2 +- trunk/ipc/shm.c | 4 +- trunk/kernel/Kconfig.preempt | 3 - trunk/kernel/auditsc.c | 28 +- trunk/kernel/exit.c | 8 +- trunk/kernel/futex.c | 4 +- trunk/kernel/irq/chip.c | 5 +- trunk/kernel/irq/devres.c | 1 - trunk/kernel/irq/resend.c | 7 +- trunk/kernel/kmod.c | 8 +- trunk/kernel/kprobes.c | 5 - trunk/kernel/kthread.c | 12 +- trunk/kernel/lockdep_proc.c | 2 +- trunk/kernel/params.c | 7 +- trunk/kernel/power/Kconfig | 45 +- trunk/kernel/power/Makefile | 5 +- trunk/kernel/power/disk.c | 1 - trunk/kernel/power/main.c | 28 +- trunk/kernel/power/power.h | 12 +- trunk/kernel/power/snapshot.c | 3 +- trunk/kernel/printk.c | 2 +- trunk/kernel/profile.c | 4 +- trunk/kernel/relay.c | 3 +- trunk/kernel/sched.c | 723 +- trunk/kernel/sched_debug.c | 48 +- trunk/kernel/sched_fair.c | 238 +- trunk/kernel/sched_idletask.c | 10 +- trunk/kernel/sched_rt.c | 62 +- trunk/kernel/sched_stats.h | 2 - trunk/kernel/signal.c | 4 + trunk/kernel/sys.c | 5 +- trunk/kernel/sysctl.c | 4 +- trunk/kernel/time/clockevents.c | 10 + trunk/kernel/time/timer_list.c | 2 +- trunk/kernel/time/timer_stats.c | 2 +- trunk/lib/Kconfig.debug | 2 +- trunk/lib/Makefile | 2 +- trunk/lib/hexdump.c | 6 +- trunk/lib/idr.c | 4 +- trunk/lib/kasprintf.c | 44 - trunk/lib/kobject_uevent.c | 16 +- trunk/lib/lzo/lzo1x_compress.c | 6 +- trunk/lib/vsprintf.c | 35 + trunk/mm/Kconfig | 4 +- trunk/mm/filemap.c | 20 + trunk/mm/migrate.c | 24 +- trunk/mm/mmap.c | 34 - trunk/mm/oom_kill.c | 3 +- trunk/mm/page_alloc.c | 14 +- trunk/mm/slub.c | 71 +- trunk/mm/swapfile.c | 6 +- trunk/mm/vmstat.c | 1 - trunk/net/8021q/vlan_dev.c | 3 + trunk/net/9p/conv.c | 1 - trunk/net/atm/lec.c | 1 + trunk/net/bluetooth/l2cap.c | 48 +- trunk/net/bluetooth/rfcomm/tty.c | 5 +- trunk/net/bridge/br_device.c | 2 +- trunk/net/bridge/br_if.c | 77 +- trunk/net/bridge/br_input.c | 6 +- trunk/net/core/dev.c | 132 +- trunk/net/core/ethtool.c | 64 +- trunk/net/core/pktgen.c | 106 +- trunk/net/core/rtnetlink.c | 2 - trunk/net/core/utils.c | 1 - trunk/net/dccp/ccid.c | 1 - trunk/net/dccp/feat.c | 14 +- trunk/net/decnet/dn_route.c | 4 +- .../ieee80211/softmac/ieee80211softmac_wx.c | 11 +- trunk/net/ipv4/af_inet.c | 2 +- trunk/net/ipv4/devinet.c | 5 +- trunk/net/ipv4/ip_options.c | 7 +- trunk/net/ipv4/ip_output.c | 1 + trunk/net/ipv4/ipconfig.c | 6 +- trunk/net/ipv4/ipvs/ip_vs_ctl.c | 3 +- trunk/net/ipv4/ipvs/ip_vs_xmit.c | 2 +- trunk/net/ipv4/netfilter/ipt_CLUSTERIP.c | 1 + trunk/net/ipv4/netfilter/ipt_recent.c | 7 +- .../netfilter/nf_conntrack_l3proto_ipv4.c | 6 - .../nf_conntrack_l3proto_ipv4_compat.c | 5 +- trunk/net/ipv4/netfilter/nf_nat_core.c | 3 +- trunk/net/ipv4/netfilter/nf_nat_rule.c | 2 +- trunk/net/ipv4/netfilter/nf_nat_standalone.c | 2 +- trunk/net/ipv4/raw.c | 4 +- trunk/net/ipv4/route.c | 4 +- trunk/net/ipv4/tcp.c | 3 +- trunk/net/ipv4/tcp_bic.c | 2 +- trunk/net/ipv4/tcp_cubic.c | 48 +- trunk/net/ipv4/tcp_htcp.c | 14 +- trunk/net/ipv4/tcp_illinois.c | 8 +- trunk/net/ipv4/tcp_input.c | 74 +- trunk/net/ipv4/tcp_ipv4.c | 1 + trunk/net/ipv4/tcp_lp.c | 6 +- trunk/net/ipv4/tcp_vegas.c | 6 +- trunk/net/ipv4/tcp_vegas.h | 2 +- trunk/net/ipv4/tcp_veno.c | 6 +- trunk/net/ipv4/tcp_westwood.c | 7 +- trunk/net/ipv4/tcp_yeah.c | 4 +- trunk/net/ipv6/addrconf.c | 8 +- trunk/net/ipv6/addrconf_core.c | 3 - trunk/net/ipv6/af_inet6.c | 2 +- trunk/net/ipv6/ip6_tunnel.c | 17 +- .../netfilter/nf_conntrack_l3proto_ipv6.c | 4 +- trunk/net/ipv6/route.c | 5 +- trunk/net/ipv6/tcp_ipv6.c | 2 + trunk/net/iucv/iucv.c | 15 +- trunk/net/key/af_key.c | 7 +- trunk/net/mac80211/debugfs_netdev.c | 8 +- trunk/net/mac80211/debugfs_sta.c | 2 +- trunk/net/mac80211/ieee80211.c | 1 - trunk/net/mac80211/ieee80211_ioctl.c | 19 +- trunk/net/netfilter/nf_conntrack_core.c | 3 +- trunk/net/netfilter/nf_conntrack_expect.c | 13 +- trunk/net/netfilter/nf_conntrack_helper.c | 2 +- trunk/net/netfilter/nf_conntrack_netlink.c | 17 +- trunk/net/netfilter/xt_connlimit.c | 6 +- trunk/net/netfilter/xt_u32.c | 11 +- trunk/net/netlabel/netlabel_domainhash.c | 10 +- trunk/net/netlabel/netlabel_user.c | 4 +- trunk/net/rxrpc/ar-connection.c | 2 +- trunk/net/sched/act_police.c | 1 + trunk/net/sched/sch_api.c | 17 +- trunk/net/sched/sch_ingress.c | 3 +- trunk/net/sched/sch_prio.c | 13 +- trunk/net/sctp/input.c | 2 +- trunk/net/sctp/ipv6.c | 2 - trunk/net/sctp/sm_make_chunk.c | 6 + trunk/net/sctp/sm_statefuns.c | 103 +- trunk/net/sctp/socket.c | 45 +- trunk/net/sctp/tsnmap.c | 14 +- trunk/net/sunrpc/auth_gss/auth_gss.c | 9 +- trunk/net/sunrpc/auth_gss/svcauth_gss.c | 1 + trunk/net/sunrpc/cache.c | 3 +- trunk/net/sunrpc/rpc_pipe.c | 3 +- trunk/net/sunrpc/sched.c | 57 +- trunk/net/sunrpc/svcsock.c | 4 +- trunk/net/tipc/link.c | 30 +- trunk/net/tipc/msg.h | 6 +- trunk/net/tipc/name_table.c | 2 +- trunk/net/tipc/node.c | 2 + trunk/net/tipc/port.c | 1 + trunk/net/unix/af_unix.c | 30 +- trunk/net/wanrouter/wanmain.c | 1 + trunk/net/xfrm/xfrm_policy.c | 11 +- trunk/net/xfrm/xfrm_state.c | 7 +- trunk/net/xfrm/xfrm_user.c | 7 - trunk/scripts/checkpatch.pl | 102 +- trunk/scripts/mod/modpost.c | 1 - trunk/security/selinux/hooks.c | 3 +- trunk/security/selinux/netlabel.c | 16 +- trunk/security/selinux/ss/services.c | 2 +- trunk/sound/oss/Kconfig | 8 + trunk/sound/oss/Makefile | 1 + trunk/sound/oss/nec_vrc5477.c | 2060 ++ trunk/sound/pci/bt87x.c | 2 - trunk/sound/sh/aica.h | 2 +- trunk/sound/soc/pxa/pxa2xx-ac97.c | 4 +- trunk/sound/sparc/cs4231.c | 42 +- 1687 files changed, 78609 insertions(+), 41613 deletions(-) delete mode 100644 trunk/Documentation/filesystems/hfsplus.txt delete mode 100644 trunk/Documentation/hwmon/thmc50 delete mode 100644 trunk/Documentation/lguest/extract delete mode 100644 trunk/Documentation/memory-hotplug.txt delete mode 100644 trunk/Documentation/sched-nice-design.txt delete mode 100644 trunk/Documentation/spi/spidev_test.c create mode 100644 trunk/arch/arm/nwfpe/entry26.S create mode 100644 trunk/arch/arm26/ACKNOWLEDGEMENTS create mode 100644 trunk/arch/arm26/Kconfig create mode 100644 trunk/arch/arm26/Kconfig.debug create mode 100644 trunk/arch/arm26/Makefile create mode 100644 trunk/arch/arm26/boot/Makefile create mode 100644 trunk/arch/arm26/boot/compressed/Makefile create mode 100644 trunk/arch/arm26/boot/compressed/head.S create mode 100644 trunk/arch/arm26/boot/compressed/ll_char_wr.S create mode 100644 trunk/arch/arm26/boot/compressed/misc.c create mode 100644 trunk/arch/arm26/boot/compressed/uncompress.h create mode 100644 trunk/arch/arm26/boot/compressed/vmlinux.lds.in create mode 100644 trunk/arch/arm26/boot/install.sh create mode 100644 trunk/arch/arm26/defconfig create mode 100644 trunk/arch/arm26/kernel/Makefile create mode 100644 trunk/arch/arm26/kernel/armksyms.c create mode 100644 trunk/arch/arm26/kernel/asm-offsets.c create mode 100644 trunk/arch/arm26/kernel/calls.S create mode 100644 trunk/arch/arm26/kernel/compat.c create mode 100644 trunk/arch/arm26/kernel/dma.c create mode 100644 trunk/arch/arm26/kernel/ecard.c create mode 100644 trunk/arch/arm26/kernel/entry.S create mode 100644 trunk/arch/arm26/kernel/fiq.c create mode 100644 trunk/arch/arm26/kernel/head.S create mode 100644 trunk/arch/arm26/kernel/init_task.c create mode 100644 trunk/arch/arm26/kernel/irq.c create mode 100644 trunk/arch/arm26/kernel/process.c create mode 100644 trunk/arch/arm26/kernel/ptrace.c create mode 100644 trunk/arch/arm26/kernel/ptrace.h create mode 100644 trunk/arch/arm26/kernel/semaphore.c create mode 100644 trunk/arch/arm26/kernel/setup.c create mode 100644 trunk/arch/arm26/kernel/signal.c create mode 100644 trunk/arch/arm26/kernel/sys_arm.c create mode 100644 trunk/arch/arm26/kernel/time.c create mode 100644 trunk/arch/arm26/kernel/traps.c create mode 100644 trunk/arch/arm26/kernel/vmlinux-arm26-xip.lds.in create mode 100644 trunk/arch/arm26/kernel/vmlinux-arm26.lds.in create mode 100644 trunk/arch/arm26/kernel/vmlinux.lds.S create mode 100644 trunk/arch/arm26/lib/Makefile create mode 100644 trunk/arch/arm26/lib/ashldi3.c create mode 100644 trunk/arch/arm26/lib/ashrdi3.c create mode 100644 trunk/arch/arm26/lib/backtrace.S create mode 100644 trunk/arch/arm26/lib/changebit.S create mode 100644 trunk/arch/arm26/lib/clearbit.S create mode 100644 trunk/arch/arm26/lib/copy_page.S create mode 100644 trunk/arch/arm26/lib/csumipv6.S create mode 100644 trunk/arch/arm26/lib/csumpartial.S create mode 100644 trunk/arch/arm26/lib/csumpartialcopy.S create mode 100644 trunk/arch/arm26/lib/csumpartialcopygeneric.S create mode 100644 trunk/arch/arm26/lib/csumpartialcopyuser.S create mode 100644 trunk/arch/arm26/lib/delay.S create mode 100644 trunk/arch/arm26/lib/ecard.S create mode 100644 trunk/arch/arm26/lib/findbit.S create mode 100644 trunk/arch/arm26/lib/floppydma.S create mode 100644 trunk/arch/arm26/lib/gcclib.h create mode 100644 trunk/arch/arm26/lib/getuser.S create mode 100644 trunk/arch/arm26/lib/io-acorn.S create mode 100644 trunk/arch/arm26/lib/io-readsb.S create mode 100644 trunk/arch/arm26/lib/io-readsl.S create mode 100644 trunk/arch/arm26/lib/io-readsw.S create mode 100644 trunk/arch/arm26/lib/io-writesb.S create mode 100644 trunk/arch/arm26/lib/io-writesl.S create mode 100644 trunk/arch/arm26/lib/io-writesw.S create mode 100644 trunk/arch/arm26/lib/kbd.c create mode 100644 trunk/arch/arm26/lib/lib1funcs.S create mode 100644 trunk/arch/arm26/lib/longlong.h create mode 100644 trunk/arch/arm26/lib/lshrdi3.c create mode 100644 trunk/arch/arm26/lib/memchr.S create mode 100644 trunk/arch/arm26/lib/memcpy.S create mode 100644 trunk/arch/arm26/lib/memset.S create mode 100644 trunk/arch/arm26/lib/memzero.S create mode 100644 trunk/arch/arm26/lib/muldi3.c create mode 100644 trunk/arch/arm26/lib/putuser.S create mode 100644 trunk/arch/arm26/lib/setbit.S create mode 100644 trunk/arch/arm26/lib/strchr.S create mode 100644 trunk/arch/arm26/lib/strrchr.S create mode 100644 trunk/arch/arm26/lib/testchangebit.S create mode 100644 trunk/arch/arm26/lib/testclearbit.S create mode 100644 trunk/arch/arm26/lib/testsetbit.S create mode 100644 trunk/arch/arm26/lib/uaccess-kernel.S create mode 100644 trunk/arch/arm26/lib/uaccess-user.S create mode 100644 trunk/arch/arm26/lib/ucmpdi2.c create mode 100644 trunk/arch/arm26/lib/udivdi3.c create mode 100644 trunk/arch/arm26/machine/Makefile create mode 100644 trunk/arch/arm26/machine/dma.c create mode 100644 trunk/arch/arm26/machine/irq.c create mode 100644 trunk/arch/arm26/machine/latches.c create mode 100644 trunk/arch/arm26/mm/Makefile create mode 100644 trunk/arch/arm26/mm/extable.c create mode 100644 trunk/arch/arm26/mm/fault.c create mode 100644 trunk/arch/arm26/mm/fault.h create mode 100644 trunk/arch/arm26/mm/init.c create mode 100644 trunk/arch/arm26/mm/memc.c create mode 100644 trunk/arch/arm26/mm/proc-funcs.S create mode 100644 trunk/arch/arm26/mm/small_page.c create mode 100644 trunk/arch/arm26/nwfpe/ARM-gcc.h create mode 100644 trunk/arch/arm26/nwfpe/ChangeLog create mode 100644 trunk/arch/arm26/nwfpe/Makefile create mode 100644 trunk/arch/arm26/nwfpe/double_cpdo.c create mode 100644 trunk/arch/arm26/nwfpe/entry.S create mode 100644 trunk/arch/arm26/nwfpe/extended_cpdo.c create mode 100644 trunk/arch/arm26/nwfpe/fpa11.c create mode 100644 trunk/arch/arm26/nwfpe/fpa11.h create mode 100644 trunk/arch/arm26/nwfpe/fpa11.inl create mode 100644 trunk/arch/arm26/nwfpe/fpa11_cpdo.c create mode 100644 trunk/arch/arm26/nwfpe/fpa11_cpdt.c create mode 100644 trunk/arch/arm26/nwfpe/fpa11_cprt.c create mode 100644 trunk/arch/arm26/nwfpe/fpmodule.c create mode 100644 trunk/arch/arm26/nwfpe/fpmodule.h create mode 100644 trunk/arch/arm26/nwfpe/fpmodule.inl create mode 100644 trunk/arch/arm26/nwfpe/fpopcode.c create mode 100644 trunk/arch/arm26/nwfpe/fpopcode.h create mode 100644 trunk/arch/arm26/nwfpe/fpsr.h create mode 100644 trunk/arch/arm26/nwfpe/milieu.h create mode 100644 trunk/arch/arm26/nwfpe/single_cpdo.c create mode 100644 trunk/arch/arm26/nwfpe/softfloat-macros create mode 100644 trunk/arch/arm26/nwfpe/softfloat-specialize create mode 100644 trunk/arch/arm26/nwfpe/softfloat.c create mode 100644 trunk/arch/arm26/nwfpe/softfloat.h create mode 100644 trunk/arch/i386/kernel/legacy_serial.c create mode 100644 trunk/arch/mips/configs/ddb5477_defconfig create mode 100644 trunk/arch/mips/configs/ocelot_defconfig create mode 100644 trunk/arch/mips/ddb5xxx/Kconfig create mode 100644 trunk/arch/mips/ddb5xxx/common/Makefile create mode 100644 trunk/arch/mips/ddb5xxx/common/nile4.c create mode 100644 trunk/arch/mips/ddb5xxx/common/prom.c create mode 100644 trunk/arch/mips/ddb5xxx/common/rtc_ds1386.c create mode 100644 trunk/arch/mips/ddb5xxx/ddb5477/Makefile create mode 100644 trunk/arch/mips/ddb5xxx/ddb5477/ddb5477-platform.c create mode 100644 trunk/arch/mips/ddb5xxx/ddb5477/debug.c create mode 100644 trunk/arch/mips/ddb5xxx/ddb5477/irq.c create mode 100644 trunk/arch/mips/ddb5xxx/ddb5477/irq_5477.c create mode 100644 trunk/arch/mips/ddb5xxx/ddb5477/kgdb_io.c create mode 100644 trunk/arch/mips/ddb5xxx/ddb5477/lcd44780.c create mode 100644 trunk/arch/mips/ddb5xxx/ddb5477/lcd44780.h create mode 100644 trunk/arch/mips/ddb5xxx/ddb5477/setup.c create mode 100644 trunk/arch/mips/gt64120/common/Makefile create mode 100644 trunk/arch/mips/gt64120/common/time.c create mode 100644 trunk/arch/mips/gt64120/momenco_ocelot/Makefile create mode 100644 trunk/arch/mips/gt64120/momenco_ocelot/dbg_io.c create mode 100644 trunk/arch/mips/gt64120/momenco_ocelot/irq.c create mode 100644 trunk/arch/mips/gt64120/momenco_ocelot/ocelot-platform.c create mode 100644 trunk/arch/mips/gt64120/momenco_ocelot/ocelot_pld.h create mode 100644 trunk/arch/mips/gt64120/momenco_ocelot/prom.c create mode 100644 trunk/arch/mips/gt64120/momenco_ocelot/reset.c create mode 100644 trunk/arch/mips/gt64120/momenco_ocelot/setup.c create mode 100644 trunk/arch/mips/pci/fixup-ddb5477.c create mode 100644 trunk/arch/mips/pci/fixup-ocelot.c create mode 100644 trunk/arch/mips/pci/ops-ddb5477.c create mode 100644 trunk/arch/mips/pci/pci-ddb5477.c create mode 100644 trunk/arch/mips/pci/pci-ocelot.c create mode 100644 trunk/arch/mips/pmc-sierra/yosemite/i2c-yosemite.c create mode 100644 trunk/arch/sh/boards/se/7300/Makefile create mode 100644 trunk/arch/sh/boards/se/7300/io.c create mode 100644 trunk/arch/sh/boards/se/7300/irq.c create mode 100644 trunk/arch/sh/boards/se/7300/setup.c create mode 100644 trunk/arch/sh/boards/se/73180/Makefile create mode 100644 trunk/arch/sh/boards/se/73180/io.c create mode 100644 trunk/arch/sh/boards/se/73180/irq.c create mode 100644 trunk/arch/sh/boards/se/73180/setup.c create mode 100644 trunk/arch/sh/configs/se7300_defconfig create mode 100644 trunk/arch/sh/configs/se73180_defconfig create mode 100644 trunk/arch/sh/kernel/cpu/irq/pint.c rename trunk/arch/sh/kernel/cpu/sh3/{clock-sh7710.c => clock-sh7300.c} (74%) create mode 100644 trunk/arch/sh/kernel/cpu/sh3/setup-sh7300.c create mode 100644 trunk/arch/sh/kernel/cpu/sh4a/clock-sh73180.c create mode 100644 trunk/arch/sh/kernel/cpu/sh4a/setup-sh73180.c rename trunk/arch/sparc64/kernel/{iommu.c => pci_iommu.c} (68%) delete mode 100644 trunk/arch/sparc64/lib/GENbzero.S delete mode 100644 trunk/arch/sparc64/lib/GENcopy_from_user.S delete mode 100644 trunk/arch/sparc64/lib/GENcopy_to_user.S delete mode 100644 trunk/arch/sparc64/lib/GENmemcpy.S delete mode 100644 trunk/arch/sparc64/lib/GENpage.S delete mode 100644 trunk/arch/sparc64/lib/GENpatch.S delete mode 100644 trunk/arch/x86_64/vdso/.gitignore create mode 100644 trunk/drivers/acorn/README create mode 100644 trunk/drivers/acorn/block/Kconfig create mode 100644 trunk/drivers/acorn/block/Makefile create mode 100644 trunk/drivers/acorn/block/fd1772.c create mode 100644 trunk/drivers/acorn/block/fd1772dma.S create mode 100644 trunk/drivers/acorn/block/mfm.S create mode 100644 trunk/drivers/acorn/block/mfmhd.c delete mode 100644 trunk/drivers/char/watchdog/bfin_wdt.c delete mode 100644 trunk/drivers/char/watchdog/davinci_wdt.c delete mode 100644 trunk/drivers/char/watchdog/mpc5200_wdt.c delete mode 100644 trunk/drivers/hwmon/thmc50.c delete mode 100644 trunk/drivers/lguest/README delete mode 100644 trunk/drivers/message/fusion/mptdebug.h create mode 100644 trunk/drivers/scsi/arm/ecoscsi.c delete mode 100644 trunk/drivers/video/geode/lxfb.h delete mode 100644 trunk/drivers/video/geode/lxfb_core.c delete mode 100644 trunk/drivers/video/geode/lxfb_ops.c create mode 100644 trunk/drivers/video/tx3912fb.c create mode 100644 trunk/include/asm-arm26/a.out.h create mode 100644 trunk/include/asm-arm26/assembler.h create mode 100644 trunk/include/asm-arm26/atomic.h create mode 100644 trunk/include/asm-arm26/auxvec.h create mode 100644 trunk/include/asm-arm26/bitops.h create mode 100644 trunk/include/asm-arm26/bug.h create mode 100644 trunk/include/asm-arm26/bugs.h create mode 100644 trunk/include/asm-arm26/byteorder.h create mode 100644 trunk/include/asm-arm26/cache.h create mode 100644 trunk/include/asm-arm26/cacheflush.h create mode 100644 trunk/include/asm-arm26/checksum.h create mode 100644 trunk/include/asm-arm26/constants.h create mode 100644 trunk/include/asm-arm26/cputime.h create mode 100644 trunk/include/asm-arm26/current.h create mode 100644 trunk/include/asm-arm26/delay.h create mode 100644 trunk/include/asm-arm26/device.h create mode 100644 trunk/include/asm-arm26/div64.h create mode 100644 trunk/include/asm-arm26/dma.h create mode 100644 trunk/include/asm-arm26/ecard.h create mode 100644 trunk/include/asm-arm26/elf.h create mode 100644 trunk/include/asm-arm26/emergency-restart.h create mode 100644 trunk/include/asm-arm26/errno.h create mode 100644 trunk/include/asm-arm26/fb.h create mode 100644 trunk/include/asm-arm26/fcntl.h create mode 100644 trunk/include/asm-arm26/fiq.h create mode 100644 trunk/include/asm-arm26/floppy.h create mode 100644 trunk/include/asm-arm26/fpstate.h create mode 100644 trunk/include/asm-arm26/futex.h create mode 100644 trunk/include/asm-arm26/hardirq.h create mode 100644 trunk/include/asm-arm26/hardware.h create mode 100644 trunk/include/asm-arm26/ide.h create mode 100644 trunk/include/asm-arm26/io.h create mode 100644 trunk/include/asm-arm26/ioc.h create mode 100644 trunk/include/asm-arm26/ioctl.h create mode 100644 trunk/include/asm-arm26/ioctls.h create mode 100644 trunk/include/asm-arm26/ipc.h create mode 100644 trunk/include/asm-arm26/ipcbuf.h create mode 100644 trunk/include/asm-arm26/irq.h create mode 100644 trunk/include/asm-arm26/irqchip.h create mode 100644 trunk/include/asm-arm26/kdebug.h create mode 100644 trunk/include/asm-arm26/kmap_types.h create mode 100644 trunk/include/asm-arm26/leds.h create mode 100644 trunk/include/asm-arm26/limits.h create mode 100644 trunk/include/asm-arm26/linkage.h create mode 100644 trunk/include/asm-arm26/local.h create mode 100644 trunk/include/asm-arm26/locks.h create mode 100644 trunk/include/asm-arm26/mach-types.h create mode 100644 trunk/include/asm-arm26/map.h create mode 100644 trunk/include/asm-arm26/mc146818rtc.h create mode 100644 trunk/include/asm-arm26/memory.h create mode 100644 trunk/include/asm-arm26/mman.h create mode 100644 trunk/include/asm-arm26/mmu.h create mode 100644 trunk/include/asm-arm26/mmu_context.h create mode 100644 trunk/include/asm-arm26/module.h create mode 100644 trunk/include/asm-arm26/msgbuf.h create mode 100644 trunk/include/asm-arm26/namei.h create mode 100644 trunk/include/asm-arm26/oldlatches.h create mode 100644 trunk/include/asm-arm26/page.h create mode 100644 trunk/include/asm-arm26/param.h create mode 100644 trunk/include/asm-arm26/parport.h create mode 100644 trunk/include/asm-arm26/pci.h create mode 100644 trunk/include/asm-arm26/percpu.h create mode 100644 trunk/include/asm-arm26/pgalloc.h create mode 100644 trunk/include/asm-arm26/pgtable.h create mode 100644 trunk/include/asm-arm26/poll.h create mode 100644 trunk/include/asm-arm26/posix_types.h create mode 100644 trunk/include/asm-arm26/proc-fns.h create mode 100644 trunk/include/asm-arm26/processor.h create mode 100644 trunk/include/asm-arm26/procinfo.h create mode 100644 trunk/include/asm-arm26/ptrace.h create mode 100644 trunk/include/asm-arm26/resource.h create mode 100644 trunk/include/asm-arm26/scatterlist.h create mode 100644 trunk/include/asm-arm26/sections.h create mode 100644 trunk/include/asm-arm26/segment.h create mode 100644 trunk/include/asm-arm26/semaphore-helper.h create mode 100644 trunk/include/asm-arm26/semaphore.h create mode 100644 trunk/include/asm-arm26/sembuf.h create mode 100644 trunk/include/asm-arm26/serial.h create mode 100644 trunk/include/asm-arm26/setup.h create mode 100644 trunk/include/asm-arm26/shmbuf.h create mode 100644 trunk/include/asm-arm26/shmparam.h create mode 100644 trunk/include/asm-arm26/sigcontext.h create mode 100644 trunk/include/asm-arm26/siginfo.h create mode 100644 trunk/include/asm-arm26/signal.h create mode 100644 trunk/include/asm-arm26/sizes.h create mode 100644 trunk/include/asm-arm26/smp.h create mode 100644 trunk/include/asm-arm26/socket.h create mode 100644 trunk/include/asm-arm26/sockios.h create mode 100644 trunk/include/asm-arm26/spinlock.h create mode 100644 trunk/include/asm-arm26/stat.h create mode 100644 trunk/include/asm-arm26/statfs.h create mode 100644 trunk/include/asm-arm26/string.h create mode 100644 trunk/include/asm-arm26/suspend.h create mode 100644 trunk/include/asm-arm26/sysirq.h create mode 100644 trunk/include/asm-arm26/system.h create mode 100644 trunk/include/asm-arm26/termbits.h create mode 100644 trunk/include/asm-arm26/termios.h create mode 100644 trunk/include/asm-arm26/thread_info.h create mode 100644 trunk/include/asm-arm26/timex.h create mode 100644 trunk/include/asm-arm26/tlb.h create mode 100644 trunk/include/asm-arm26/tlbflush.h create mode 100644 trunk/include/asm-arm26/topology.h create mode 100644 trunk/include/asm-arm26/types.h create mode 100644 trunk/include/asm-arm26/uaccess-asm.h create mode 100644 trunk/include/asm-arm26/uaccess.h create mode 100644 trunk/include/asm-arm26/ucontext.h create mode 100644 trunk/include/asm-arm26/unaligned.h create mode 100644 trunk/include/asm-arm26/uncompress.h create mode 100644 trunk/include/asm-arm26/unistd.h create mode 100644 trunk/include/asm-arm26/user.h create mode 100644 trunk/include/asm-arm26/xor.h create mode 100644 trunk/include/asm-mips/ddb5xxx/ddb5477.h create mode 100644 trunk/include/asm-mips/ddb5xxx/ddb5xxx.h delete mode 100644 trunk/include/asm-mips/edac.h delete mode 100644 trunk/include/asm-mips/mach-tx49xx/cpu-feature-overrides.h delete mode 100644 trunk/include/asm-mips/mach-tx49xx/kmalloc.h delete mode 100644 trunk/include/asm-mips/seccomp.h create mode 100644 trunk/include/asm-mips/tx3912.h create mode 100644 trunk/include/asm-sh/se7300.h create mode 100644 trunk/include/asm-sh/se73180.h create mode 100644 trunk/include/video/tx3912.h delete mode 100644 trunk/lib/kasprintf.c create mode 100644 trunk/sound/oss/nec_vrc5477.c diff --git a/[refs] b/[refs] index 3d1fbdbb655b..70ad1bffcdfc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d2d56c5f51028cb9f3d800882eb6f4cbd3f9099f +refs/heads/master: a403a0a370946e7dbcda6464a3509089daee54bc diff --git a/trunk/.gitignore b/trunk/.gitignore index 27c3e839b54e..a232295b99ac 100644 --- a/trunk/.gitignore +++ b/trunk/.gitignore @@ -7,7 +7,6 @@ # .* *.o -*.o.* *.a *.s *.ko diff --git a/trunk/CREDITS b/trunk/CREDITS index 832436e1dd91..10c214dc95e7 100644 --- a/trunk/CREDITS +++ b/trunk/CREDITS @@ -966,7 +966,6 @@ N: Pekka Enberg E: penberg@cs.helsinki.fi W: http://www.cs.helsinki.fi/u/penberg/ D: Various kernel hacks, fixes, and cleanups. -D: Slab allocators S: Finland N: David Engebretsen @@ -1940,8 +1939,8 @@ D: for Menuconfig's lxdialog. N: Christoph Lameter E: christoph@lameter.com D: Digiboard PC/Xe and PC/Xi, Digiboard EPCA -D: NUMA support, Slab allocators, Page migration -D: Scalability, Time subsystem +D: Early protocol filter for bridging code +D: Bug fixes N: Paul Laufer E: paul@laufernet.com diff --git a/trunk/Documentation/Changes b/trunk/Documentation/Changes index cb2b141b1c3e..73a8617f1861 100644 --- a/trunk/Documentation/Changes +++ b/trunk/Documentation/Changes @@ -45,7 +45,6 @@ o nfs-utils 1.0.5 # showmount --version o procps 3.2.0 # ps --version o oprofile 0.9 # oprofiled --version o udev 081 # udevinfo -V -o grub 0.93 # grub --version Kernel compilation ================== diff --git a/trunk/Documentation/DMA-API.txt b/trunk/Documentation/DMA-API.txt index cc7a8c39fb6f..805db4b2cba6 100644 --- a/trunk/Documentation/DMA-API.txt +++ b/trunk/Documentation/DMA-API.txt @@ -26,7 +26,7 @@ Part Ia - Using large dma-coherent buffers void * dma_alloc_coherent(struct device *dev, size_t size, - dma_addr_t *dma_handle, gfp_t flag) + dma_addr_t *dma_handle, int flag) void * pci_alloc_consistent(struct pci_dev *dev, size_t size, dma_addr_t *dma_handle) @@ -38,7 +38,7 @@ to make sure to flush the processor's write buffers before telling devices to read that memory.) This routine allocates a region of bytes of consistent memory. -It also returns a which may be cast to an unsigned +it also returns a which may be cast to an unsigned integer the same width as the bus and used as the physical address base of the region. @@ -52,21 +52,21 @@ The simplest way to do that is to use the dma_pool calls (see below). The flag parameter (dma_alloc_coherent only) allows the caller to specify the GFP_ flags (see kmalloc) for the allocation (the -implementation may choose to ignore flags that affect the location of +implementation may chose to ignore flags that affect the location of the returned memory, like GFP_DMA). For pci_alloc_consistent, you must assume GFP_ATOMIC behaviour. void -dma_free_coherent(struct device *dev, size_t size, void *cpu_addr, +dma_free_coherent(struct device *dev, size_t size, void *cpu_addr dma_addr_t dma_handle) void -pci_free_consistent(struct pci_dev *dev, size_t size, void *cpu_addr, +pci_free_consistent(struct pci_dev *dev, size_t size, void *cpu_addr dma_addr_t dma_handle) Free the region of consistent memory you previously allocated. dev, size and dma_handle must all be the same as those passed into the consistent allocate. cpu_addr must be the virtual address returned by -the consistent allocate. +the consistent allocate Part Ib - Using small dma-coherent buffers @@ -77,9 +77,9 @@ To get this part of the dma_ API, you must #include Many drivers need lots of small dma-coherent memory regions for DMA descriptors or I/O buffers. Rather than allocating in units of a page or more using dma_alloc_coherent(), you can use DMA pools. These work -much like a struct kmem_cache, except that they use the dma-coherent allocator, +much like a struct kmem_cache, except that they use the dma-coherent allocator not __get_free_pages(). Also, they understand common hardware constraints -for alignment, like queue heads needing to be aligned on N-byte boundaries. +for alignment, like queue heads needing to be aligned on N byte boundaries. struct dma_pool * @@ -102,15 +102,15 @@ crossing restrictions, pass 0 for alloc; passing 4096 says memory allocated from this pool must not cross 4KByte boundaries. - void *dma_pool_alloc(struct dma_pool *pool, gfp_t gfp_flags, + void *dma_pool_alloc(struct dma_pool *pool, int gfp_flags, dma_addr_t *dma_handle); - void *pci_pool_alloc(struct pci_pool *pool, gfp_t gfp_flags, + void *pci_pool_alloc(struct pci_pool *pool, int gfp_flags, dma_addr_t *dma_handle); This allocates memory from the pool; the returned memory will meet the size and alignment requirements specified at creation time. Pass GFP_ATOMIC to -prevent blocking, or if it's permitted (not in_interrupt, not holding SMP locks), +prevent blocking, or if it's permitted (not in_interrupt, not holding SMP locks) pass GFP_KERNEL to allow blocking. Like dma_alloc_coherent(), this returns two values: an address usable by the cpu, and the dma address usable by the pool's device. @@ -123,7 +123,7 @@ pool's device. dma_addr_t addr); This puts memory back into the pool. The pool is what was passed to -the pool allocation routine; the cpu (vaddr) and dma addresses are what +the pool allocation routine; the cpu and dma addresses are what were returned when that routine allocated the memory being freed. @@ -209,18 +209,18 @@ Notes: Not all memory regions in a machine can be mapped by this API. Further, regions that appear to be physically contiguous in kernel virtual space may not be contiguous as physical memory. Since this API does not provide any scatter/gather capability, it will fail -if the user tries to map a non-physically contiguous piece of memory. +if the user tries to map a non physically contiguous piece of memory. For this reason, it is recommended that memory mapped by this API be -obtained only from sources which guarantee it to be physically contiguous +obtained only from sources which guarantee to be physically contiguous (like kmalloc). Further, the physical address of the memory must be within the dma_mask of the device (the dma_mask represents a bit mask of the -addressable region for the device. I.e., if the physical address of +addressable region for the device. i.e. if the physical address of the memory anded with the dma_mask is still equal to the physical address, then the device can perform DMA to the memory). In order to ensure that the memory allocated by kmalloc is within the dma_mask, -the driver may specify various platform-dependent flags to restrict +the driver may specify various platform dependent flags to restrict the physical memory range of the allocation (e.g. on x86, GFP_DMA guarantees to be within the first 16Mb of available physical memory, as required by ISA devices). @@ -244,14 +244,14 @@ are guaranteed also to be cache line boundaries). DMA_TO_DEVICE synchronisation must be done after the last modification of the memory region by the software and before it is handed off to -the driver. Once this primitive is used, memory covered by this -primitive should be treated as read-only by the device. If the device +the driver. Once this primitive is used. Memory covered by this +primitive should be treated as read only by the device. If the device may write to it at any point, it should be DMA_BIDIRECTIONAL (see below). DMA_FROM_DEVICE synchronisation must be done before the driver accesses data that may be changed by the device. This memory should -be treated as read-only by the driver. If the driver needs to write +be treated as read only by the driver. If the driver needs to write to it at any point, it should be DMA_BIDIRECTIONAL (see below). DMA_BIDIRECTIONAL requires special handling: it means that the driver @@ -261,7 +261,7 @@ you must always sync bidirectional memory twice: once before the memory is handed off to the device (to make sure all memory changes are flushed from the processor) and once before the data may be accessed after being used by the device (to make sure any processor -cache lines are updated with data that the device may have changed). +cache lines are updated with data that the device may have changed. void dma_unmap_single(struct device *dev, dma_addr_t dma_addr, size_t size, @@ -302,8 +302,8 @@ pci_dma_mapping_error(dma_addr_t dma_addr) In some circumstances dma_map_single and dma_map_page will fail to create a mapping. A driver can check for these errors by testing the returned -dma address with dma_mapping_error(). A non-zero return value means the mapping -could not be created and the driver should take appropriate action (e.g. +dma address with dma_mapping_error(). A non zero return value means the mapping +could not be created and the driver should take appropriate action (eg reduce current DMA mapping usage or delay and try again later). int @@ -315,7 +315,7 @@ reduce current DMA mapping usage or delay and try again later). Maps a scatter gather list from the block layer. -Returns: the number of physical segments mapped (this may be shorter +Returns: the number of physical segments mapped (this may be shorted than passed in if the block layer determines that some elements of the scatter/gather list are physically adjacent and thus may be mapped with a single entry). @@ -357,7 +357,7 @@ accessed sg->address and sg->length as shown above. pci_unmap_sg(struct pci_dev *hwdev, struct scatterlist *sg, int nents, int direction) -Unmap the previously mapped scatter/gather list. All the parameters +unmap the previously mapped scatter/gather list. All the parameters must be the same as those and passed in to the scatter/gather mapping API. @@ -377,7 +377,7 @@ void pci_dma_sync_sg(struct pci_dev *hwdev, struct scatterlist *sg, int nelems, int direction) -Synchronise a single contiguous or scatter/gather mapping. All the +synchronise a single contiguous or scatter/gather mapping. All the parameters must be the same as those passed into the single mapping API. @@ -406,7 +406,7 @@ API at all. void * dma_alloc_noncoherent(struct device *dev, size_t size, - dma_addr_t *dma_handle, gfp_t flag) + dma_addr_t *dma_handle, int flag) Identical to dma_alloc_coherent() except that the platform will choose to return either consistent or non-consistent memory as it sees @@ -426,34 +426,34 @@ void dma_free_noncoherent(struct device *dev, size_t size, void *cpu_addr, dma_addr_t dma_handle) -Free memory allocated by the nonconsistent API. All parameters must +free memory allocated by the nonconsistent API. All parameters must be identical to those passed in (and returned by dma_alloc_noncoherent()). int dma_is_consistent(struct device *dev, dma_addr_t dma_handle) -Returns true if the device dev is performing consistent DMA on the memory +returns true if the device dev is performing consistent DMA on the memory area pointed to by the dma_handle. int dma_get_cache_alignment(void) -Returns the processor cache alignment. This is the absolute minimum +returns the processor cache alignment. This is the absolute minimum alignment *and* width that you must observe when either mapping memory or doing partial flushes. Notes: This API may return a number *larger* than the actual cache line, but it will guarantee that one or more cache lines fit exactly into the width returned by this call. It will also always be a power -of two for easy alignment. +of two for easy alignment void dma_sync_single_range(struct device *dev, dma_addr_t dma_handle, unsigned long offset, size_t size, enum dma_data_direction direction) -Does a partial sync, starting at offset and continuing for size. You +does a partial sync. starting at offset and continuing for size. You must be careful to observe the cache alignment and width when doing anything like this. You must also be extra careful about accessing memory you intend to sync partially. @@ -472,20 +472,21 @@ dma_declare_coherent_memory(struct device *dev, dma_addr_t bus_addr, dma_addr_t device_addr, size_t size, int flags) + Declare region of memory to be handed out by dma_alloc_coherent when it's asked for coherent memory for this device. bus_addr is the physical address to which the memory is currently assigned in the bus responding region (this will be used by the -platform to perform the mapping). +platform to perform the mapping) device_addr is the physical address the device needs to be programmed with actually to address this memory (this will be handed out as the -dma_addr_t in dma_alloc_coherent()). +dma_addr_t in dma_alloc_coherent()) size is the size of the area (must be multiples of PAGE_SIZE). -flags can be or'd together and are: +flags can be or'd together and are DMA_MEMORY_MAP - request that the memory returned from dma_alloc_coherent() be directly writable. @@ -493,7 +494,7 @@ dma_alloc_coherent() be directly writable. DMA_MEMORY_IO - request that the memory returned from dma_alloc_coherent() be addressable using read/write/memcpy_toio etc. -One or both of these flags must be present. +One or both of these flags must be present DMA_MEMORY_INCLUDES_CHILDREN - make the declared memory be allocated by dma_alloc_coherent of any child devices of this one (for memory residing @@ -527,7 +528,7 @@ dma_release_declared_memory(struct device *dev) Remove the memory region previously declared from the system. This API performs *no* in-use checking for this region and will return unconditionally having removed all the required structures. It is the -driver's job to ensure that no parts of this memory region are +drivers job to ensure that no parts of this memory region are currently in use. void * @@ -537,10 +538,12 @@ dma_mark_declared_memory_occupied(struct device *dev, This is used to occupy specific regions of the declared space (dma_alloc_coherent() will hand out the first free region it finds). -device_addr is the *device* address of the region requested. +device_addr is the *device* address of the region requested -size is the size (and should be a page-sized multiple). +size is the size (and should be a page sized multiple). The return value will be either a pointer to the processor virtual address of the memory, or an error (via PTR_ERR()) if any part of the region is occupied. + + diff --git a/trunk/Documentation/DocBook/kernel-api.tmpl b/trunk/Documentation/DocBook/kernel-api.tmpl index b886f52a9aac..eb42bf9847cb 100644 --- a/trunk/Documentation/DocBook/kernel-api.tmpl +++ b/trunk/Documentation/DocBook/kernel-api.tmpl @@ -380,6 +380,7 @@ X!Edrivers/base/interface.c !Edrivers/base/bus.c Device Drivers Power Management +!Edrivers/base/power/main.c !Edrivers/base/power/resume.c !Edrivers/base/power/suspend.c @@ -397,12 +398,12 @@ X!Edrivers/acpi/pci_bind.c --> Device drivers PnP support -!Idrivers/pnp/core.c +!Edrivers/pnp/core.c !Edrivers/pnp/card.c -!Idrivers/pnp/driver.c +!Edrivers/pnp/driver.c !Edrivers/pnp/manager.c !Edrivers/pnp/support.c @@ -703,22 +704,14 @@ X!Idrivers/video/console/fonts.c splice API - + ) splice is a method for moving blocks of data around inside the - kernel, without continually transferring them between the kernel + kernel, without continually transferring it between the kernel and user space. +!Iinclude/linux/splice.h !Ffs/splice.c - - pipes API - - Pipe interfaces are all for in-kernel (builtin image) use. - They are not exported for use by modules. - -!Iinclude/linux/pipe_fs_i.h -!Ffs/pipe.c - diff --git a/trunk/Documentation/DocBook/uio-howto.tmpl b/trunk/Documentation/DocBook/uio-howto.tmpl index c119484258b8..e3bb29a8d8dd 100644 --- a/trunk/Documentation/DocBook/uio-howto.tmpl +++ b/trunk/Documentation/DocBook/uio-howto.tmpl @@ -133,6 +133,10 @@ interested in translating it, please email me updates of your driver can take place without recompiling the kernel. + + if you need to keep some parts of your driver closed source, + you can do so without violating the GPL license on the kernel. + diff --git a/trunk/Documentation/dontdiff b/trunk/Documentation/dontdiff index 7b9551fc6fe3..595a5ea4c690 100644 --- a/trunk/Documentation/dontdiff +++ b/trunk/Documentation/dontdiff @@ -18,7 +18,6 @@ *.moc *.mod.c *.o -*.o.* *.orig *.out *.pdf @@ -164,8 +163,6 @@ raid6tables.c relocs series setup -setup.bin -setup.elf sim710_d.h* sImage sm_tbl* diff --git a/trunk/Documentation/fb/pvr2fb.txt b/trunk/Documentation/fb/pvr2fb.txt index 36bdeff585e2..2bf6c2321c2d 100644 --- a/trunk/Documentation/fb/pvr2fb.txt +++ b/trunk/Documentation/fb/pvr2fb.txt @@ -9,13 +9,14 @@ one found in the Dreamcast. Advantages: * It provides a nice large console (128 cols + 48 lines with 1024x768) - without using tiny, unreadable fonts (NOT on the Dreamcast) + without using tiny, unreadable fonts. * You can run XF86_FBDev on top of /dev/fb0 * Most important: boot logo :-) Disadvantages: - * Driver is largely untested on non-Dreamcast systems. + * Driver is currently limited to the Dreamcast PowerVR 2 implementation + at the time of this writing. Configuration ============= @@ -28,16 +29,11 @@ Accepted options: font:X - default font to use. All fonts are supported, including the SUN12x22 font which is very nice at high resolutions. +mode:X - default video mode. The following video modes are supported: + 640x240-60, 640x480-60. -mode:X - default video mode with format [xres]x[yres]-@ - The following video modes are supported: - 640x640-16@60, 640x480-24@60, 640x480-32@60. The Dreamcast - defaults to 640x480-16@60. At the time of writing the - 24bpp and 32bpp modes function poorly. Work to fix that is - ongoing - Note: the 640x240 mode is currently broken, and should not be - used for any reason. It is only mentioned here as a reference. + used for any reason. It is only mentioned as a reference. inverse - invert colors on screen (for LCD displays) @@ -56,10 +52,10 @@ output:X - output type. This can be any of the following: pal, ntsc, and X11 === -XF86_FBDev has been shown to work on the Dreamcast in the past - though not yet -on any 2.6 series kernel. +XF86_FBDev should work, in theory. At the time of this writing it is +totally untested and may or may not even portray the beginnings of +working. If you end up testing this, please let me know! -- Paul Mundt -Updated by Adrian McMenamin diff --git a/trunk/Documentation/feature-removal-schedule.txt b/trunk/Documentation/feature-removal-schedule.txt index a43d2878a4ef..c175eedadb5f 100644 --- a/trunk/Documentation/feature-removal-schedule.txt +++ b/trunk/Documentation/feature-removal-schedule.txt @@ -211,6 +211,22 @@ Who: Richard Purdie --------------------------- +What: read_dev_chars(), read_conf_data{,_lpm}() (s390 common I/O layer) +When: December 2007 +Why: These functions are a leftover from 2.4 times. They have several + problems: + - Duplication of checks that are done in the device driver's + interrupt handler + - common I/O layer can't do device specific error recovery + - device driver can't be notified for conditions happening during + execution of the function + Device drivers should issue the read device characteristics and read + configuration data ccws and do the appropriate error handling + themselves. +Who: Cornelia Huck + +--------------------------- + What: i2c-ixp2000, i2c-ixp4xx and scx200_i2c drivers When: September 2007 Why: Obsolete. The new i2c-gpio driver replaces all hardware-specific diff --git a/trunk/Documentation/filesystems/hfsplus.txt b/trunk/Documentation/filesystems/hfsplus.txt deleted file mode 100644 index af1628a1061c..000000000000 --- a/trunk/Documentation/filesystems/hfsplus.txt +++ /dev/null @@ -1,59 +0,0 @@ - -Macintosh HFSPlus Filesystem for Linux -====================================== - -HFSPlus is a filesystem first introduced in MacOS 8.1. -HFSPlus has several extensions to HFS, including 32-bit allocation -blocks, 255-character unicode filenames, and file sizes of 2^63 bytes. - - -Mount options -============= - -When mounting an HFSPlus filesystem, the following options are accepted: - - creator=cccc, type=cccc - Specifies the creator/type values as shown by the MacOS finder - used for creating new files. Default values: '????'. - - uid=n, gid=n - Specifies the user/group that owns all files on the filesystem - that have uninitialized permissions structures. - Default: user/group id of the mounting process. - - umask=n - Specifies the umask (in octal) used for files and directories - that have uninitialized permissions structures. - Default: umask of the mounting process. - - session=n - Select the CDROM session to mount as HFSPlus filesystem. Defaults to - leaving that decision to the CDROM driver. This option will fail - with anything but a CDROM as underlying devices. - - part=n - Select partition number n from the devices. This option only makes - sense for CDROMs because they can't be partitioned under Linux. - For disk devices the generic partition parsing code does this - for us. Defaults to not parsing the partition table at all. - - decompose - Decompose file name characters. - - nodecompose - Do not decompose file name characters. - - force - Used to force write access to volumes that are marked as journalled - or locked. Use at your own risk. - - nls=cccc - Encoding to use when presenting file names. - - -References -========== - -kernel source: - -Apple Technote 1150 http://developer.apple.com/technotes/tn/tn1150.html diff --git a/trunk/Documentation/hpet.txt b/trunk/Documentation/hpet.txt index 6ad52d9dad6c..b7a3dc38dd52 100644 --- a/trunk/Documentation/hpet.txt +++ b/trunk/Documentation/hpet.txt @@ -5,7 +5,7 @@ for the 8254 and Real Time Clock (RTC) periodic timer functionality. Each HPET can have up to 32 timers. It is possible to configure the first two timers as legacy replacements for 8254 and RTC periodic timers. A specification done by Intel and Microsoft can be found at -. +. The driver supports detection of HPET driver allocation and initialization of the HPET before the driver module_init routine is called. This enables diff --git a/trunk/Documentation/hwmon/adm1031 b/trunk/Documentation/hwmon/adm1031 index be92a77da1d5..130a38382b98 100644 --- a/trunk/Documentation/hwmon/adm1031 +++ b/trunk/Documentation/hwmon/adm1031 @@ -6,13 +6,13 @@ Supported chips: Prefix: 'adm1030' Addresses scanned: I2C 0x2c to 0x2e Datasheet: Publicly available at the Analog Devices website - http://www.analog.com/en/prod/0%2C2877%2CADM1030%2C00.html + http://products.analog.com/products/info.asp?product=ADM1030 * Analog Devices ADM1031 Prefix: 'adm1031' Addresses scanned: I2C 0x2c to 0x2e Datasheet: Publicly available at the Analog Devices website - http://www.analog.com/en/prod/0%2C2877%2CADM1031%2C00.html + http://products.analog.com/products/info.asp?product=ADM1031 Authors: Alexandre d'Alton diff --git a/trunk/Documentation/hwmon/thmc50 b/trunk/Documentation/hwmon/thmc50 deleted file mode 100644 index 9639ca93d559..000000000000 --- a/trunk/Documentation/hwmon/thmc50 +++ /dev/null @@ -1,74 +0,0 @@ -Kernel driver thmc50 -===================== - -Supported chips: - * Analog Devices ADM1022 - Prefix: 'adm1022' - Addresses scanned: I2C 0x2c - 0x2e - Datasheet: http://www.analog.com/en/prod/0,2877,ADM1022,00.html - * Texas Instruments THMC50 - Prefix: 'thmc50' - Addresses scanned: I2C 0x2c - 0x2e - Datasheet: http://focus.ti.com/docs/prod/folders/print/thmc50.html - -Author: Krzysztof Helt - -This driver was derived from the 2.4 kernel thmc50.c source file. - -Credits: - thmc50.c (2.4 kernel): - Frodo Looijaard - Philip Edelbrock - -Module Parameters ------------------ - -* adm1022_temp3: short array - List of adapter,address pairs to force chips into ADM1022 mode with - second remote temperature. This does not work for original THMC50 chips. - -Description ------------ - -The THMC50 implements: an internal temperature sensor, support for an -external diode-type temperature sensor (compatible w/ the diode sensor inside -many processors), and a controllable fan/analog_out DAC. For the temperature -sensors, limits can be set through the appropriate Overtemperature Shutdown -register and Hysteresis register. Each value can be set and read to half-degree -accuracy. An alarm is issued (usually to a connected LM78) when the -temperature gets higher then the Overtemperature Shutdown value; it stays on -until the temperature falls below the Hysteresis value. All temperatures are in -degrees Celsius, and are guaranteed within a range of -55 to +125 degrees. - -The THMC50 only updates its values each 1.5 seconds; reading it more often -will do no harm, but will return 'old' values. - -The THMC50 is usually used in combination with LM78-like chips, to measure -the temperature of the processor(s). - -The ADM1022 works the same as THMC50 but it is faster (5 Hz instead of -1 Hz for THMC50). It can be also put in a new mode to handle additional -remote temperature sensor. The driver use the mode set by BIOS by default. - -In case the BIOS is broken and the mode is set incorrectly, you can force -the mode with additional remote temperature with adm1022_temp3 parameter. -A typical symptom of wrong setting is a fan forced to full speed. - -Driver Features ---------------- - -The driver provides up to three temperatures: - -temp1 -- internal -temp2 -- remote -temp3 -- 2nd remote only for ADM1022 - -pwm1 -- fan speed (0 = stop, 255 = full) -pwm1_mode -- always 0 (DC mode) - -The value of 0 for pwm1 also forces FAN_OFF signal from the chip, -so it stops fans even if the value 0 into the ANALOG_OUT register does not. - -The driver was tested on Compaq AP550 with two ADM1022 chips (one works -in the temp3 mode), five temperature readings and two fans. - diff --git a/trunk/Documentation/i386/zero-page.txt b/trunk/Documentation/i386/zero-page.txt index 6c0817c45683..75b3680c41eb 100644 --- a/trunk/Documentation/i386/zero-page.txt +++ b/trunk/Documentation/i386/zero-page.txt @@ -1,13 +1,3 @@ ---------------------------------------------------------------------------- -!!!!!!!!!!!!!!!WARNING!!!!!!!! -The zero page is a kernel internal data structure, not a stable ABI. It might change -without warning and the kernel has no way to detect old version of it. -If you're writing some external code like a boot loader you should only use -the stable versioned real mode boot protocol described in boot.txt. Otherwise the kernel -might break you at any time. -!!!!!!!!!!!!!WARNING!!!!!!!!!!! ----------------------------------------------------------------------------- - Summary of boot_params layout (kernel point of view) ( collected by Hans Lermen and Martin Mares ) diff --git a/trunk/Documentation/ja_JP/HOWTO b/trunk/Documentation/ja_JP/HOWTO index 9f08dab1e75b..b2446a090870 100644 --- a/trunk/Documentation/ja_JP/HOWTO +++ b/trunk/Documentation/ja_JP/HOWTO @@ -1,24 +1,23 @@ -NOTE: -This is a version of Documentation/HOWTO translated into Japanese. -This document is maintained by Tsugikazu Shibata -and the JF Project team . -If you find any difference between this document and the original file -or a problem with the translation, -please contact the maintainer of this file or JF project. - -Please also note that the purpose of this file is to be easier to read -for non English (read: Japanese) speakers and is not intended as a -fork. So if you have any comments or updates for this file, please try -to update the original English file first. - -Last Updated: 2007/07/18 +NOTE: +This is Japanese translated version of "Documentation/HOWTO". +This one is maintained by Tsugikazu Shibata +and JF Project team . +If you find difference with original file or problem in translation, +please contact maintainer of this file or JF project. + +Please also note that purpose of this file is easier to read for non +English natives and not to be intended to fork. So, if you have any +comments or updates of this file, please try to update Original(English) +file at first. + +Last Updated: 2007/06/04 ================================== ã“れã¯ã€ -linux-2.6.22/Documentation/HOWTO +linux-2.6.21/Documentation/HOWTO ã®å’Œè¨³ã§ã™ã€‚ 翻訳団体: JF プロジェクト < http://www.linux.or.jp/JF/ > -翻訳日: 2007/07/16 +翻訳日: 2007/06/04 翻訳者: Tsugikazu Shibata 校正者: æ¾å€‰ã•ã‚“ å°æž— é›…å…¸ã•ã‚“ (Masanori Kobayasi) @@ -53,7 +52,6 @@ Linux カーãƒãƒ«é–‹ç™ºã‚³ãƒŸãƒ¥ãƒ‹ãƒ†ã‚£ã¨å…±ã«æ´»å‹•ã™ã‚‹ã‚„り方を学 ã¾ãŸã€ã“ã®ã‚³ãƒŸãƒ¥ãƒ‹ãƒ†ã‚£ãŒãªãœä»Šã†ã¾ãã¾ã‚ã£ã¦ã„ã‚‹ã®ã‹ã¨ã„ã†ç†ç”±ã®ä¸€éƒ¨ã‚‚ 説明ã—よã†ã¨è©¦ã¿ã¦ã„ã¾ã™ã€‚ - カーãƒãƒ«ã¯ å°‘é‡ã®ã‚¢ãƒ¼ã‚­ãƒ†ã‚¯ãƒãƒ£ä¾å­˜éƒ¨åˆ†ãŒã‚¢ã‚»ãƒ³ãƒ–ãƒªè¨€èªžã§æ›¸ã‹ã‚Œã¦ã„ã‚‹ 以外ã¯å¤§éƒ¨åˆ†ã¯ C è¨€èªžã§æ›¸ã‹ã‚Œã¦ã„ã¾ã™ã€‚C言語をよãç†è§£ã—ã¦ã„ã‚‹ã“ã¨ã¯ã‚«ãƒ¼ ãƒãƒ«é–‹ç™ºè€…ã«ã¯å¿…è¦ã§ã™ã€‚アーキテクãƒãƒ£å‘ã‘ã®ä½Žãƒ¬ãƒ™ãƒ«éƒ¨åˆ†ã®é–‹ç™ºã‚’ã™ã‚‹ã® @@ -143,7 +141,6 @@ Linux カーãƒãƒ«ã‚½ãƒ¼ã‚¹ãƒ„リーã¯å¹…広ã„範囲ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’ ã“れらã®ãƒ«ãƒ¼ãƒ«ã«å¾“ãˆã°ã†ã¾ãã„ãã“ã¨ã‚’ä¿è¨¼ã™ã‚‹ã“ã¨ã§ã¯ã‚りã¾ã›ã‚“ ㌠(ã™ã¹ã¦ã®ãƒ‘ッãƒã¯å†…容ã¨ã‚¹ã‚¿ã‚¤ãƒ«ã«ã¤ã„ã¦ç²¾æŸ»ã‚’å—ã‘ã‚‹ã®ã§)〠ルールã«å¾“ã‚ãªã‘れã°é–“é•ã„ãªãã†ã¾ãã„ã‹ãªã„ã§ã—ょã†ã€‚ - ã“ã®ä»–ã«ãƒ‘ッãƒã‚’作る方法ã«ã¤ã„ã¦ã®ã‚ˆãã§ããŸè¨˜è¿°ã¯- "The Perfect Patch" @@ -363,42 +360,44 @@ linux-kernel メーリングリストã§åŽé›†ã•れãŸå¤šæ•°ã®ãƒ‘ッãƒã¨åŒ git ツリー- - Kbuild ã®é–‹ç™ºãƒ„リーã€Sam Ravnborg - git.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild.git + kernel.org:/pub/scm/linux/kernel/git/sam/kbuild.git - ACPI ã®é–‹ç™ºãƒ„リー〠Len Brown - git.kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git + kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git - Block ã®é–‹ç™ºãƒ„リーã€Jens Axboe - git.kernel.org:/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git + kernel.org:/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git - DRM ã®é–‹ç™ºãƒ„リーã€Dave Airlie - git.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6.git + kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6.git - ia64 ã®é–‹ç™ºãƒ„リーã€Tony Luck - git.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6.git + kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6.git + + - ieee1394 ã®é–‹ç™ºãƒ„リーã€Jody McIntyre + kernel.org:/pub/scm/linux/kernel/git/scjody/ieee1394.git - infiniband, Roland Dreier - git.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband.git + kernel.org:/pub/scm/linux/kernel/git/roland/infiniband.git - libata, Jeff Garzik - git.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev.git + kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev.git - ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ‰ãƒ©ã‚¤ãƒ, Jeff Garzik - git.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git + kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git - pcmcia, Dominik Brodowski - git.kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6.git + kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6.git - SCSI, James Bottomley - git.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git + kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git + + ãã®ä»–ã® git カーãƒãƒ«ãƒ„リー㯠http://kernel.org/git ã«ä¸€è¦§è¡¨ãŒã‚り㾠+ ã™ã€‚ quilt ツリー- - USB, PCI ドライãƒã‚³ã‚¢ã¨ I2C, Greg Kroah-Hartman kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/ - - x86-64 㨠i386 ã®ä»²é–“ Andi Kleen - - ãã®ä»–ã®ã‚«ãƒ¼ãƒãƒ«ãƒ„リー㯠http://git.kernel.org/ 㨠MAINTAINERS ファ - イルã«ä¸€è¦§è¡¨ãŒã‚りã¾ã™ã€‚ ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆ ------------- @@ -509,7 +508,6 @@ MAINTAINERS ファイルã«ãƒªã‚¹ãƒˆãŒã‚りã¾ã™ã®ã§å‚ç…§ã—ã¦ãã ã• ã›ã‚“*。å˜ã«è‡ªåˆ†ã®ãƒ‘ッãƒã«å¯¾ã—ã¦æŒ‡æ‘˜ã•れãŸå•題を全ã¦ä¿®æ­£ã—ã¦å†é€ã™ã‚Œã° ã„ã„ã®ã§ã™ã€‚ - カーãƒãƒ«ã‚³ãƒŸãƒ¥ãƒ‹ãƒ†ã‚£ã¨ä¼æ¥­çµ„ç¹”ã®ã¡ãŒã„ ----------------------------------------------------------------- @@ -579,7 +577,6 @@ Linux カーãƒãƒ«ã‚³ãƒŸãƒ¥ãƒ‹ãƒ†ã‚£ã¯ã€ä¸€åº¦ã«å¤§é‡ã®ã‚³ãƒ¼ãƒ‰ã®å¡Šã‚’ ã‹ã—ã€500行ã®ãƒ‘ッãƒã¯ã€æ­£ã—ã„ã“ã¨ã‚’レビューã™ã‚‹ã®ã«æ•°æ™‚é–“ã‹ã‹ã‚‹ã‹ã‚‚ ã—れã¾ã›ã‚“(時間ã¯ãƒ‘ッãƒã®ã‚µã‚¤ã‚ºãªã©ã«ã‚ˆã‚ŠæŒ‡æ•°é–¢æ•°ã«æ¯”例ã—ã¦ã‹ã‹ã‚Šã¾ ã™) - å°ã•ã„パッãƒã¯ä½•ã‹ã‚ã£ãŸã¨ãã«ãƒ‡ãƒãƒƒã‚°ã‚‚ã¨ã¦ã‚‚ç°¡å˜ã«ãªã‚Šã¾ã™ã€‚パッ ãƒã‚’1個1個å–り除ãã®ã¯ã€ã¨ã¦ã‚‚大ããªãƒ‘ッãƒã‚’当ã¦ãŸå¾Œã«(ã‹ã¤ã€ä½•ã‹ãŠ ã‹ã—ããªã£ãŸå¾Œã§)解剖ã™ã‚‹ã®ã«æ¯”ã¹ã‚Œã°ã¨ã¦ã‚‚ç°¡å˜ã§ã™ã€‚ @@ -594,7 +591,6 @@ Linux カーãƒãƒ«ã‚³ãƒŸãƒ¥ãƒ‹ãƒ†ã‚£ã¯ã€ä¸€åº¦ã«å¤§é‡ã®ã‚³ãƒ¼ãƒ‰ã®å¡Šã‚’ ã†ã€‚先生ã¯ç°¡æ½”ãªæœ€é«˜ã®è§£ã‚’ã¿ãŸã„ã®ã§ã™ã€‚良ã„生徒ã¯ã“れを知ã£ã¦ ãŠã‚Šã€ãã—ã¦æœ€çµ‚è§£ã®å‰ã®ä¸­é–“作業をæå‡ºã™ã‚‹ã“ã¨ã¯æ±ºã—ã¦ãªã„ã®ã§ ã™" - カーãƒãƒ«é–‹ç™ºã§ã‚‚ã“れã¯åŒã˜ã§ã™ã€‚メンテナーé”ã¨ãƒ¬ãƒ“ューアé”ã¯ã€ å•題を解決ã™ã‚‹è§£ã®èƒŒå¾Œã«ãªã‚‹æ€è€ƒãƒ—ロセスをã¿ãŸã„ã¨ã¯æ€ã„ã¾ã›ã‚“。 彼らã¯å˜ç´”ã§ã‚ã–ã‚„ã‹ãªè§£æ±ºæ–¹æ³•ã‚’ã¿ãŸã„ã®ã§ã™ã€‚ diff --git a/trunk/Documentation/ja_JP/stable_api_nonsense.txt b/trunk/Documentation/ja_JP/stable_api_nonsense.txt index 7653b5cbfed2..b3f2b27f0881 100644 --- a/trunk/Documentation/ja_JP/stable_api_nonsense.txt +++ b/trunk/Documentation/ja_JP/stable_api_nonsense.txt @@ -1,17 +1,17 @@ NOTE: -This is a version of Documentation/stable_api_nonsense.txt into Japanese. -This document is maintained by IKEDA, Munehiro -and the JF Project team . -If you find any difference between this document and the original file -or a problem with the translation, +This is a Japanese translated version of +"Documentation/stable_api_nonsense.txt". +This one is maintained by +IKEDA, Munehiro +and JF Project team . +If you find difference with original file or problem in translation, please contact the maintainer of this file or JF project. -Please also note that the purpose of this file is to be easier to read -for non English (read: Japanese) speakers and is not intended as a -fork. So if you have any comments or updates of this file, please try -to update the original English file first. +Please also note that purpose of this file is easier to read for non +English natives and not to be intended to fork. So, if you have any +comments or updates of this file, please try to update +Original(English) file at first. -Last Updated: 2007/07/18 ================================== ã“れã¯ã€ linux-2.6.22-rc4/Documentation/stable_api_nonsense.txt ã®å’Œè¨³ diff --git a/trunk/Documentation/kbuild/kconfig-language.txt b/trunk/Documentation/kbuild/kconfig-language.txt index fe8b0c4892cf..536d5bfbdb8d 100644 --- a/trunk/Documentation/kbuild/kconfig-language.txt +++ b/trunk/Documentation/kbuild/kconfig-language.txt @@ -98,15 +98,6 @@ applicable everywhere (see syntax). times, the limit is set to the largest selection. Reverse dependencies can only be used with boolean or tristate symbols. - Note: - select is evil.... select will by brute force set a symbol - equal to 'y' without visiting the dependencies. So abusing - select you are able to select a symbol FOO even if FOO depends - on BAR that is not set. In general use select only for - non-visible symbols (no promts anywhere) and for symbols with - no dependencies. That will limit the usefulness but on the - other hand avoid the illegal configurations all over. kconfig - should one day warn about such things. - numerical ranges: "range" ["if" ] This allows to limit the range of possible input values for int diff --git a/trunk/Documentation/kernel-parameters.txt b/trunk/Documentation/kernel-parameters.txt index 975f029be25c..fb80e9ffea68 100644 --- a/trunk/Documentation/kernel-parameters.txt +++ b/trunk/Documentation/kernel-parameters.txt @@ -30,7 +30,6 @@ the beginning of each description states the restrictions within which a parameter is applicable: ACPI ACPI support is enabled. - AGP AGP (Accelerated Graphics Port) is enabled. ALSA ALSA sound support is enabled. APIC APIC support is enabled. APM Advanced Power Management support is enabled. @@ -41,6 +40,7 @@ parameter is applicable: EIDE EIDE/ATAPI support is enabled. FB The frame buffer device is enabled. HW Appropriate hardware is enabled. + IA-32 IA-32 aka i386 architecture is enabled. IA-64 IA-64 architecture is enabled. IOSCHED More than one I/O scheduler is enabled. IP_PNP IP DHCP, BOOTP, or RARP is enabled. @@ -57,14 +57,14 @@ parameter is applicable: MDA MDA console support is enabled. MOUSE Appropriate mouse support is enabled. MSI Message Signaled Interrupts (PCI). - MTD MTD (Memory Technology Device) support is enabled. + MTD MTD support is enabled. NET Appropriate network support is enabled. NUMA NUMA support is enabled. GENERIC_TIME The generic timeofday code is enabled. NFS Appropriate NFS support is enabled. OSS OSS sound support is enabled. - PV_OPS A paravirtualized kernel is enabled. - PARIDE The ParIDE (parallel port IDE) subsystem is enabled. + PV_OPS A paravirtualized kernel + PARIDE The ParIDE subsystem is enabled. PARISC The PA-RISC architecture is enabled. PCI PCI bus support is enabled. PCMCIA The PCMCIA subsystem is enabled. @@ -91,7 +91,6 @@ parameter is applicable: VT Virtual terminal support is enabled. WDT Watchdog support is enabled. XT IBM PC/XT MFM hard disk support is enabled. - X86-32 X86-32, aka i386 architecture is enabled. X86-64 X86-64 architecture is enabled. More X86-64 boot options can be found in Documentation/x86_64/boot-options.txt . @@ -123,6 +122,10 @@ and is between 256 and 4096 characters. It is defined in the file ./include/asm/setup.h as COMMAND_LINE_SIZE. + 53c7xx= [HW,SCSI] Amiga SCSI controllers + See header of drivers/scsi/53c7xx.c. + See also Documentation/scsi/ncr53c7xx.txt. + acpi= [HW,ACPI,X86-64,i386] Advanced Configuration and Power Interface Format: { force | off | ht | strict | noirq } @@ -163,8 +166,6 @@ and is between 256 and 4096 characters. It is defined in the file acpi_irq_isa= [HW,ACPI] If irq_balance, mark listed IRQs used by ISA Format: ,... - acpi_no_auto_ssdt [HW,ACPI] Disable automatic loading of SSDT - acpi_os_name= [HW,ACPI] Tell ACPI BIOS the name of the OS Format: To spoof as Windows 98: ="Microsoft Windows" @@ -221,17 +222,11 @@ and is between 256 and 4096 characters. It is defined in the file acpi_fake_ecdt [HW,ACPI] Workaround failure due to BIOS lacking ECDT - acpi_pm_good [X86-32,X86-64] + acpi_pm_good [IA-32,X86-64] Override the pmtimer bug detection: force the kernel to assume that this machine's pmtimer latches its value and always returns good values. - agp= [AGP] - { off | try_unsupported } - off: disable AGP support - try_unsupported: try to drive unsupported chipsets - (may crash computer or cause data corruption) - enable_timer_pin_1 [i386,x86-64] Enable PIN 1 of APIC timer Can be useful to work around chipset bugs @@ -284,8 +279,7 @@ and is between 256 and 4096 characters. It is defined in the file not play well with APC CPU idle - disable it if you have APC and your system crashes randomly. - apic= [APIC,i386] Advanced Programmable Interrupt Controller - Change the output verbosity whilst booting + apic= [APIC,i386] Change the output verbosity whilst booting Format: { quiet (default) | verbose | debug } Change the amount of debugging information output when initialising the APIC and IO-APIC components. @@ -359,7 +353,7 @@ and is between 256 and 4096 characters. It is defined in the file c101= [NET] Moxa C101 synchronous serial card - cachesize= [BUGS=X86-32] Override level 2 CPU cache size detection. + cachesize= [BUGS=IA-32] Override level 2 CPU cache size detection. Sometimes CPU hardware bugs make them report the cache size incorrectly. The kernel will attempt work arounds to fix known problems, but for some CPUs it is not @@ -378,7 +372,7 @@ and is between 256 and 4096 characters. It is defined in the file Value can be changed at runtime via /selinux/checkreqprot. - clock= [BUGS=X86-32, HW] gettimeofday clocksource override. + clock= [BUGS=IA-32, HW] gettimeofday clocksource override. [Deprecated] Forces specified clocksource (if available) to be used when calculating gettimeofday(). If specified @@ -396,7 +390,7 @@ and is between 256 and 4096 characters. It is defined in the file [ARM] imx_timer1,OSTS,netx_timer,mpu_timer2, pxa_timer,timer3,32k_counter,timer0_1 [AVR32] avr32 - [X86-32] pit,hpet,tsc,vmi-timer; + [IA-32] pit,hpet,tsc,vmi-timer; scx200_hrt on Geode; cyclone on IBM x440 [MIPS] MIPS [PARISC] cr16 @@ -416,7 +410,7 @@ and is between 256 and 4096 characters. It is defined in the file over the 8254 in addition to over the IO-APIC. The kernel tries to set a sensible default. - hpet= [X86-32,HPET] option to disable HPET and use PIT. + hpet= [IA-32,HPET] option to disable HPET and use PIT. Format: disable com20020= [HW,NET] ARCnet - COM20020 chipset @@ -553,7 +547,7 @@ and is between 256 and 4096 characters. It is defined in the file dtc3181e= [HW,SCSI] - earlyprintk= [X86-32,X86-64,SH] + earlyprintk= [IA-32,X86-64,SH] earlyprintk=vga earlyprintk=serial[,ttySn[,baudrate]] @@ -591,7 +585,7 @@ and is between 256 and 4096 characters. It is defined in the file eisa_irq_edge= [PARISC,HW] See header of drivers/parisc/eisa.c. - elanfreq= [X86-32] + elanfreq= [IA-32] See comment before function elanfreq_setup() in arch/i386/kernel/cpu/cpufreq/elanfreq.c. @@ -600,7 +594,7 @@ and is between 256 and 4096 characters. It is defined in the file See Documentation/block/as-iosched.txt and Documentation/block/deadline-iosched.txt for details. - elfcorehdr= [X86-32, X86_64] + elfcorehdr= [IA-32, X86_64] Specifies physical address of start of kernel core image elf header. Generally kexec loader will pass this option to capture kernel. @@ -682,7 +676,7 @@ and is between 256 and 4096 characters. It is defined in the file hisax= [HW,ISDN] See Documentation/isdn/README.HiSax. - hugepages= [HW,X86-32,IA-64] Maximal number of HugeTLB pages. + hugepages= [HW,IA-32,IA-64] Maximal number of HugeTLB pages. i8042.direct [HW] Put keyboard port into non-translated mode i8042.dumbkbd [HW] Pretend that controller can only read data from @@ -774,8 +768,7 @@ and is between 256 and 4096 characters. It is defined in the file See Documentation/nfsroot.txt. ip2= [HW] Set IO/IRQ pairs for up to 4 IntelliPort boards - See comment before ip2_setup() in - drivers/char/ip2/ip2base.c. + See comment before ip2_setup() in drivers/char/ip2.c. ips= [HW,SCSI] Adaptec / IBM ServeRAID controller See header of drivers/scsi/ips.c. @@ -824,7 +817,7 @@ and is between 256 and 4096 characters. It is defined in the file js= [HW,JOY] Analog joystick See Documentation/input/joystick.txt. - kernelcore=nn[KMG] [KNL,X86-32,IA-64,PPC,X86-64] This parameter + kernelcore=nn[KMG] [KNL,IA-32,IA-64,PPC,X86-64] This parameter specifies the amount of memory usable by the kernel for non-movable allocations. The requested amount is spread evenly throughout all nodes in the system. The @@ -840,7 +833,7 @@ and is between 256 and 4096 characters. It is defined in the file use the HighMem zone if it exists, and the Normal zone if it does not. - movablecore=nn[KMG] [KNL,X86-32,IA-64,PPC,X86-64] This parameter + movablecore=nn[KMG] [KNL,IA-32,IA-64,PPC,X86-64] This parameter is similar to kernelcore except it specifies the amount of memory used for migratable allocations. If both kernelcore and movablecore is specified, @@ -852,20 +845,28 @@ and is between 256 and 4096 characters. It is defined in the file keepinitrd [HW,ARM] - kstack=N [X86-32,X86-64] Print N words from the kernel stack + kstack=N [IA-32,X86-64] Print N words from the kernel stack in oops dumps. l2cr= [PPC] - lapic [X86-32,APIC] Enable the local APIC even if BIOS + lapic [IA-32,APIC] Enable the local APIC even if BIOS disabled it. - lapic_timer_c2_ok [X86-32,x86-64,APIC] trust the local apic timer in + lapic_timer_c2_ok [IA-32,x86-64,APIC] trust the local apic timer in C2 power state. lasi= [HW,SCSI] PARISC LASI driver for the 53c700 chip Format: addr:,irq: + legacy_serial.force [HW,IA-32,X86-64] + Probe for COM ports at legacy addresses even + if PNPBIOS or ACPI should describe them. This + is for working around firmware defects. + + llsc*= [IA64] See function print_params() in + arch/ia64/sn/kernel/llsc4.c. + load_ramdisk= [RAM] List of ramdisks to load from floppy See Documentation/ramdisk.txt. @@ -971,11 +972,11 @@ and is between 256 and 4096 characters. It is defined in the file [SCSI] Maximum number of LUNs received. Should be between 1 and 16384. - mca-pentium [BUGS=X86-32] + mca-pentium [BUGS=IA-32] mcatest= [IA-64] - mce [X86-32] Machine Check Exception + mce [IA-32] Machine Check Exception md= [HW] RAID subsystems devices and level See Documentation/md.txt. @@ -987,14 +988,14 @@ and is between 256 and 4096 characters. It is defined in the file mem=nn[KMG] [KNL,BOOT] Force usage of a specific amount of memory Amount of memory to be used when the kernel is not able to see the whole system memory or for test. - [X86-32] Use together with memmap= to avoid physical + [IA-32] Use together with memmap= to avoid physical address space collisions. Without memmap= PCI devices could be placed at addresses belonging to unused RAM. - mem=nopentium [BUGS=X86-32] Disable usage of 4MB pages for kernel + mem=nopentium [BUGS=IA-32] Disable usage of 4MB pages for kernel memory. - memmap=exactmap [KNL,X86-32,X86_64] Enable setting of an exact + memmap=exactmap [KNL,IA-32,X86_64] Enable setting of an exact E820 memory map, as specified by the user. Such memmap=exactmap lines can be constructed based on BIOS output or other requirements. See the memmap=nn@ss @@ -1038,7 +1039,7 @@ and is between 256 and 4096 characters. It is defined in the file ,[,,,,] mtdparts= [MTD] - See drivers/mtd/cmdlinepart.c. + See drivers/mtd/cmdline.c. mtouchusb.raw_coordinates= [HW] Make the MicroTouch USB driver use raw coordinates @@ -1080,9 +1081,9 @@ and is between 256 and 4096 characters. It is defined in the file [NFS] set the maximum lifetime for idmapper cache entries. - nmi_watchdog= [KNL,BUGS=X86-32] Debugging features for SMP kernels + nmi_watchdog= [KNL,BUGS=IA-32] Debugging features for SMP kernels - no387 [BUGS=X86-32] Tells the kernel to use the 387 maths + no387 [BUGS=IA-32] Tells the kernel to use the 387 maths emulation library even if a 387 maths coprocessor is present. @@ -1113,17 +1114,17 @@ and is between 256 and 4096 characters. It is defined in the file noexec [IA-64] - noexec [X86-32,X86-64] + noexec [IA-32,X86-64] noexec=on: enable non-executable mappings (default) noexec=off: disable nn-executable mappings - nofxsr [BUGS=X86-32] Disables x86 floating point extended + nofxsr [BUGS=IA-32] Disables x86 floating point extended register save and restore. The kernel will only save legacy floating-point registers on task switch. nohlt [BUGS=ARM] - no-hlt [BUGS=X86-32] Tells the kernel that the hlt + no-hlt [BUGS=IA-32] Tells the kernel that the hlt instruction doesn't work correctly and not to use it. @@ -1138,12 +1139,12 @@ and is between 256 and 4096 characters. It is defined in the file Valid arguments: on, off Default: on - noirqbalance [X86-32,SMP,KNL] Disable kernel irq balancing + noirqbalance [IA-32,SMP,KNL] Disable kernel irq balancing - noirqdebug [X86-32] Disables the code which attempts to detect and + noirqdebug [IA-32] Disables the code which attempts to detect and disable unhandled interrupt sources. - no_timer_check [X86-32,X86_64,APIC] Disables the code which tests for + no_timer_check [IA-32,X86_64,APIC] Disables the code which tests for broken timer IRQ sources. noisapnp [ISAPNP] Disables ISA PnP code. @@ -1155,20 +1156,20 @@ and is between 256 and 4096 characters. It is defined in the file nojitter [IA64] Disables jitter checking for ITC timers. - nolapic [X86-32,APIC] Do not enable or use the local APIC. + nolapic [IA-32,APIC] Do not enable or use the local APIC. - nolapic_timer [X86-32,APIC] Do not use the local APIC timer. + nolapic_timer [IA-32,APIC] Do not use the local APIC timer. noltlbs [PPC] Do not use large page/tlb entries for kernel lowmem mapping on PPC40x. nomca [IA-64] Disable machine check abort handling - nomce [X86-32] Machine Check Exception + nomce [IA-32] Machine Check Exception - noreplace-paravirt [X86-32,PV_OPS] Don't patch paravirt_ops + noreplace-paravirt [IA-32,PV_OPS] Don't patch paravirt_ops - noreplace-smp [X86-32,SMP] Don't replace SMP instructions + noreplace-smp [IA-32,SMP] Don't replace SMP instructions with UP alternatives noresidual [PPC] Don't use residual data on PReP machines. @@ -1182,7 +1183,7 @@ and is between 256 and 4096 characters. It is defined in the file nosbagart [IA-64] - nosep [BUGS=X86-32] Disables x86 SYSENTER/SYSEXIT support. + nosep [BUGS=IA-32] Disables x86 SYSENTER/SYSEXIT support. nosmp [SMP] Tells an SMP kernel to act as a UP kernel. @@ -1190,7 +1191,7 @@ and is between 256 and 4096 characters. It is defined in the file nosync [HW,M68K] Disables sync negotiation for all devices. - notsc [BUGS=X86-32] Disable Time Stamp Counter + notsc [BUGS=IA-32] Disable Time Stamp Counter nousb [USB] Disable the USB subsystem @@ -1263,28 +1264,28 @@ and is between 256 and 4096 characters. It is defined in the file See also Documentation/paride.txt. pci=option[,option...] [PCI] various PCI subsystem options: - off [X86-32] don't probe for the PCI bus - bios [X86-32] force use of PCI BIOS, don't access + off [IA-32] don't probe for the PCI bus + bios [IA-32] force use of PCI BIOS, don't access the hardware directly. Use this if your machine has a non-standard PCI host bridge. - nobios [X86-32] disallow use of PCI BIOS, only direct + nobios [IA-32] disallow use of PCI BIOS, only direct hardware access methods are allowed. Use this if you experience crashes upon bootup and you suspect they are caused by the BIOS. - conf1 [X86-32] Force use of PCI Configuration + conf1 [IA-32] Force use of PCI Configuration Mechanism 1. - conf2 [X86-32] Force use of PCI Configuration + conf2 [IA-32] Force use of PCI Configuration Mechanism 2. - nommconf [X86-32,X86_64] Disable use of MMCONFIG for PCI + nommconf [IA-32,X86_64] Disable use of MMCONFIG for PCI Configuration nomsi [MSI] If the PCI_MSI kernel config parameter is enabled, this kernel boot option can be used to disable the use of MSI interrupts system-wide. - nosort [X86-32] Don't sort PCI devices according to + nosort [IA-32] Don't sort PCI devices according to order given by the PCI BIOS. This sorting is done to get a device order compatible with older kernels. - biosirq [X86-32] Use PCI BIOS calls to get the interrupt + biosirq [IA-32] Use PCI BIOS calls to get the interrupt routing table. These calls are known to be buggy on several machines and they hang the machine when used, but on other computers it's the only @@ -1292,32 +1293,32 @@ and is between 256 and 4096 characters. It is defined in the file this option if the kernel is unable to allocate IRQs or discover secondary PCI buses on your motherboard. - rom [X86-32] Assign address space to expansion ROMs. + rom [IA-32] Assign address space to expansion ROMs. Use with caution as certain devices share address decoders between ROMs and other resources. - irqmask=0xMMMM [X86-32] Set a bit mask of IRQs allowed to be + irqmask=0xMMMM [IA-32] Set a bit mask of IRQs allowed to be assigned automatically to PCI devices. You can make the kernel exclude IRQs of your ISA cards this way. - pirqaddr=0xAAAAA [X86-32] Specify the physical address + pirqaddr=0xAAAAA [IA-32] Specify the physical address of the PIRQ table (normally generated by the BIOS) if it is outside the F0000h-100000h range. - lastbus=N [X86-32] Scan all buses thru bus #N. Can be + lastbus=N [IA-32] Scan all buses thru bus #N. Can be useful if the kernel is unable to find your secondary buses and you want to tell it explicitly which ones they are. - assign-busses [X86-32] Always assign all PCI bus + assign-busses [IA-32] Always assign all PCI bus numbers ourselves, overriding whatever the firmware may have done. - usepirqmask [X86-32] Honor the possible IRQ mask stored + usepirqmask [IA-32] Honor the possible IRQ mask stored in the BIOS $PIR table. This is needed on some systems with broken BIOSes, notably some HP Pavilion N5400 and Omnibook XE3 notebooks. This will have no effect if ACPI IRQ routing is enabled. - noacpi [X86-32] Do not use ACPI for IRQ routing + noacpi [IA-32] Do not use ACPI for IRQ routing or for PCI scanning. routeirq Do IRQ routing for all PCI devices. This is normally done in pci_enable_device(), @@ -1466,13 +1467,13 @@ and is between 256 and 4096 characters. It is defined in the file Run specified binary instead of /init from the ramdisk, used for early userspace startup. See initrd. - reboot= [BUGS=X86-32,BUGS=ARM,BUGS=IA-64] Rebooting mode + reboot= [BUGS=IA-32,BUGS=ARM,BUGS=IA-64] Rebooting mode Format: [,[,...]] See arch/*/kernel/reboot.c or arch/*/kernel/process.c reserve= [KNL,BUGS] Force the kernel to ignore some iomem area - reservetop= [X86-32] + reservetop= [IA-32] Format: nn[KMG] Reserves a hole at the top of the kernel virtual address space. @@ -1563,7 +1564,7 @@ and is between 256 and 4096 characters. It is defined in the file Value can be changed at runtime via /selinux/compat_net. - serialnumber [BUGS=X86-32] + serialnumber [BUGS=IA-32] sg_def_reserved_size= [SCSI] @@ -1616,7 +1617,7 @@ and is between 256 and 4096 characters. It is defined in the file smart2= [HW] Format: [,[,...,]] - smp-alt-once [X86-32,SMP] On a hotplug CPU system, only + smp-alt-once [IA-32,SMP] On a hotplug CPU system, only attempt to substitute SMP alternatives once at boot. smsc-ircc2.nopnp [HW] Don't use PNP to discover SMC devices @@ -1822,26 +1823,6 @@ and is between 256 and 4096 characters. It is defined in the file thash_entries= [KNL,NET] Set number of hash buckets for TCP connection - thermal.act= [HW,ACPI] - -1: disable all active trip points in all thermal zones - : override all lowest active trip points - - thermal.nocrt= [HW,ACPI] - Set to disable actions on ACPI thermal zone - critical and hot trip points. - - thermal.off= [HW,ACPI] - 1: disable ACPI thermal control - - thermal.psv= [HW,ACPI] - -1: disable all passive trip points - : override all passive trip points to this value - - thermal.tzp= [HW,ACPI] - Specify global default ACPI thermal zone polling rate - : poll all this frequency - 0: no polling (default) - time Show timing data prefixed to each printk message line [deprecated, see 'printk.time'] @@ -1901,7 +1882,7 @@ and is between 256 and 4096 characters. It is defined in the file usbhid.mousepoll= [USBHID] The interval which mice are to be polled at. - vdso= [X86-32,SH,x86-64] + vdso= [IA-32,SH,x86-64] vdso=2: enable compat VDSO (default with COMPAT_VDSO) vdso=1: enable VDSO (default) vdso=0: disable VDSO mapping @@ -1912,7 +1893,7 @@ and is between 256 and 4096 characters. It is defined in the file video= [FB] Frame buffer configuration See Documentation/fb/modedb.txt. - vga= [BOOT,X86-32] Select a particular video mode + vga= [BOOT,IA-32] Select a particular video mode See Documentation/i386/boot.txt and Documentation/svga.txt. Use vga=ask for menu. @@ -1944,7 +1925,7 @@ and is between 256 and 4096 characters. It is defined in the file See header of drivers/scsi/wd7000.c. wdt= [WDT] Watchdog - See Documentation/watchdog/wdt.txt. + See Documentation/watchdog/watchdog.txt. xd= [HW,XT] Original XT pre-IDE (RLL encoded) disks. xd_geo= See header of drivers/block/xd.c. diff --git a/trunk/Documentation/keys.txt b/trunk/Documentation/keys.txt index 947d57d53453..81d9aa097298 100644 --- a/trunk/Documentation/keys.txt +++ b/trunk/Documentation/keys.txt @@ -859,8 +859,9 @@ payload contents" for more information. void unregister_key_type(struct key_type *type); -Under some circumstances, it may be desirable to deal with a bundle of keys. -The facility provides access to the keyring type for managing such a bundle: +Under some circumstances, it may be desirable to desirable to deal with a +bundle of keys. The facility provides access to the keyring type for managing +such a bundle: struct key_type key_type_keyring; diff --git a/trunk/Documentation/kobject.txt b/trunk/Documentation/kobject.txt index 8ee49ee7c963..e44855513b3d 100644 --- a/trunk/Documentation/kobject.txt +++ b/trunk/Documentation/kobject.txt @@ -27,6 +27,7 @@ in detail, and briefly here: - kobjects a simple object. - kset a set of objects of a certain type. - ktype a set of helpers for objects of a common type. +- subsystem a controlling object for a number of ksets. The kobject infrastructure maintains a close relationship with the @@ -53,15 +54,13 @@ embedded in larger data structures and replace fields they duplicate. 1.2 Definition struct kobject { - const char * k_name; char name[KOBJ_NAME_LEN]; - struct kref kref; + atomic_t refcount; struct list_head entry; struct kobject * parent; struct kset * kset; struct kobj_type * ktype; - struct sysfs_dirent * sd; - wait_queue_head_t poll; + struct dentry * dentry; }; void kobject_init(struct kobject *); @@ -138,7 +137,8 @@ If a kobject does not have a parent when it is registered, its parent becomes its dominant kset. If a kobject does not have a parent nor a dominant kset, its directory -is created at the top-level of the sysfs partition. +is created at the top-level of the sysfs partition. This should only +happen for kobjects that are embedded in a struct subsystem. @@ -150,10 +150,10 @@ A kset is a set of kobjects that are embedded in the same type. struct kset { + struct subsystem * subsys; struct kobj_type * ktype; struct list_head list; struct kobject kobj; - struct kset_uevent_ops * uevent_ops; }; @@ -169,7 +169,8 @@ struct kobject * kset_find_obj(struct kset *, char *); The type that the kobjects are embedded in is described by the ktype -pointer. +pointer. The subsystem that the kobject belongs to is pointed to by the +subsys pointer. A kset contains a kobject itself, meaning that it may be registered in the kobject hierarchy and exported via sysfs. More importantly, the @@ -208,58 +209,6 @@ the hierarchy. kset_find_obj() may be used to locate a kobject with a particular name. The kobject, if found, is returned. -There are also some helper functions which names point to the formerly -existing "struct subsystem", whose functions have been taken over by -ksets. - - -decl_subsys(name,type,uevent_ops) - -Declares a kset named '_subsys' of type with -uevent_ops . For example, - -decl_subsys(devices, &ktype_device, &device_uevent_ops); - -is equivalent to doing: - -struct kset devices_subsys = { - .kobj = { - .name = "devices", - }, - .ktype = &ktype_devices, - .uevent_ops = &device_uevent_ops, -}; - - -The objects that are registered with a subsystem that use the -subsystem's default list must have their kset ptr set properly. These -objects may have embedded kobjects or ksets. The -following helpers make setting the kset easier: - - -kobj_set_kset_s(obj,subsys) - -- Assumes that obj->kobj exists, and is a struct kobject. -- Sets the kset of that kobject to the kset . - - -kset_set_kset_s(obj,subsys) - -- Assumes that obj->kset exists, and is a struct kset. -- Sets the kset of the embedded kobject to the kset . - -subsys_set_kset(obj,subsys) - -- Assumes obj->subsys exists, and is a struct subsystem. -- Sets obj->subsys.kset.kobj.kset to the subsystem's embedded kset. - -void subsystem_init(struct kset *s); -int subsystem_register(struct kset *s); -void subsystem_unregister(struct kset *s); -struct kset *subsys_get(struct kset *s); -void kset_put(struct kset *s); - -These are just wrappers around the respective kset_* functions. 2.3 sysfs @@ -305,3 +254,114 @@ Instances of struct kobj_type are not registered; only referenced by the kset. A kobj_type may be referenced by an arbitrary number of ksets, as there may be disparate sets of identical objects. + + +4. subsystems + +4.1 Description + +A subsystem represents a significant entity of code that maintains an +arbitrary number of sets of objects of various types. Since the number +of ksets and the type of objects they contain are variable, a +generic representation of a subsystem is minimal. + + +struct subsystem { + struct kset kset; + struct rw_semaphore rwsem; +}; + +int subsystem_register(struct subsystem *); +void subsystem_unregister(struct subsystem *); + +struct subsystem * subsys_get(struct subsystem * s); +void subsys_put(struct subsystem * s); + + +A subsystem contains an embedded kset so: + +- It can be represented in the object hierarchy via the kset's + embedded kobject. + +- It can maintain a default list of objects of one type. + +Additional ksets may attach to the subsystem simply by referencing the +subsystem before they are registered. (This one-way reference means +that there is no way to determine the ksets that are attached to the +subsystem.) + +All ksets that are attached to a subsystem share the subsystem's R/W +semaphore. + + +4.2 subsystem Programming Interface. + +The subsystem programming interface is simple and does not offer the +flexibility that the kset and kobject programming interfaces do. They +may be registered and unregistered, as well as reference counted. Each +call forwards the calls to their embedded ksets (which forward the +calls to their embedded kobjects). + + +4.3 Helpers + +A number of macros are available to make dealing with subsystems and +their embedded objects easier. + + +decl_subsys(name,type) + +Declares a subsystem named '_subsys', with an embedded kset of +type . For example, + +decl_subsys(devices,&ktype_devices); + +is equivalent to doing: + +struct subsystem device_subsys = { + .kset = { + .kobj = { + .name = "devices", + }, + .ktype = &ktype_devices, + } +}; + + +The objects that are registered with a subsystem that use the +subsystem's default list must have their kset ptr set properly. These +objects may have embedded kobjects, ksets, or other subsystems. The +following helpers make setting the kset easier: + + +kobj_set_kset_s(obj,subsys) + +- Assumes that obj->kobj exists, and is a struct kobject. +- Sets the kset of that kobject to the subsystem's embedded kset. + + +kset_set_kset_s(obj,subsys) + +- Assumes that obj->kset exists, and is a struct kset. +- Sets the kset of the embedded kobject to the subsystem's + embedded kset. + +subsys_set_kset(obj,subsys) + +- Assumes obj->subsys exists, and is a struct subsystem. +- Sets obj->subsys.kset.kobj.kset to the subsystem's embedded kset. + + +4.4 sysfs + +subsystems are represented in sysfs via their embedded kobjects. They +follow the same rules as previously mentioned with no exceptions. They +typically receive a top-level directory in sysfs, except when their +embedded kobject is part of another kset, or the parent of the +embedded kobject is explicitly set. + +Note that the subsystem's embedded kset must be 'attached' to the +subsystem itself in order to use its rwsem. This is done after +kset_add() has been called. (Not before, because kset_add() uses its +subsystem for a default parent if it doesn't already have one). + diff --git a/trunk/Documentation/lguest/Makefile b/trunk/Documentation/lguest/Makefile index c0b7a4556390..31e794ef5f98 100644 --- a/trunk/Documentation/lguest/Makefile +++ b/trunk/Documentation/lguest/Makefile @@ -13,9 +13,7 @@ LGUEST_GUEST_TOP := ($(CONFIG_PAGE_OFFSET) - 0x08000000) CFLAGS:=-Wall -Wmissing-declarations -Wmissing-prototypes -O3 -Wl,-T,lguest.lds LDLIBS:=-lz -# Removing this works for some versions of ld.so (eg. Ubuntu Feisty) and -# not others (eg. FC7). -LDFLAGS+=-static + all: lguest.lds lguest # The linker script on x86 is so complex the only way of creating one diff --git a/trunk/Documentation/lguest/extract b/trunk/Documentation/lguest/extract deleted file mode 100644 index 7730bb6e4b94..000000000000 --- a/trunk/Documentation/lguest/extract +++ /dev/null @@ -1,58 +0,0 @@ -#! /bin/sh - -set -e - -PREFIX=$1 -shift - -trap 'rm -r $TMPDIR' 0 -TMPDIR=`mktemp -d` - -exec 3>/dev/null -for f; do - while IFS=" -" read -r LINE; do - case "$LINE" in - *$PREFIX:[0-9]*:\**) - NUM=`echo "$LINE" | sed "s/.*$PREFIX:\([0-9]*\).*/\1/"` - if [ -f $TMPDIR/$NUM ]; then - echo "$TMPDIR/$NUM already exits prior to $f" - exit 1 - fi - exec 3>>$TMPDIR/$NUM - echo $f | sed 's,\.\./,,g' > $TMPDIR/.$NUM - /bin/echo "$LINE" | sed -e "s/$PREFIX:[0-9]*//" -e "s/:\*/*/" >&3 - ;; - *$PREFIX:[0-9]*) - NUM=`echo "$LINE" | sed "s/.*$PREFIX:\([0-9]*\).*/\1/"` - if [ -f $TMPDIR/$NUM ]; then - echo "$TMPDIR/$NUM already exits prior to $f" - exit 1 - fi - exec 3>>$TMPDIR/$NUM - echo $f | sed 's,\.\./,,g' > $TMPDIR/.$NUM - /bin/echo "$LINE" | sed "s/$PREFIX:[0-9]*//" >&3 - ;; - *:\**) - /bin/echo "$LINE" | sed -e "s/:\*/*/" -e "s,/\*\*/,," >&3 - echo >&3 - exec 3>/dev/null - ;; - *) - /bin/echo "$LINE" >&3 - ;; - esac - done < $f - echo >&3 - exec 3>/dev/null -done - -LASTFILE="" -for f in $TMPDIR/*; do - if [ "$LASTFILE" != $(cat $TMPDIR/.$(basename $f) ) ]; then - LASTFILE=$(cat $TMPDIR/.$(basename $f) ) - echo "[ $LASTFILE ]" - fi - cat $f -done - diff --git a/trunk/Documentation/lguest/lguest.c b/trunk/Documentation/lguest/lguest.c index f7918401a007..62a8133393e1 100644 --- a/trunk/Documentation/lguest/lguest.c +++ b/trunk/Documentation/lguest/lguest.c @@ -1,10 +1,5 @@ -/*P:100 This is the Launcher code, a simple program which lays out the - * "physical" memory for the new Guest by mapping the kernel image and the - * virtual devices, then reads repeatedly from /dev/lguest to run the Guest. - * - * The only trick: the Makefile links it at a high address so it will be clear - * of the guest memory region. It means that each Guest cannot have more than - * about 2.5G of memory on a normally configured Host. :*/ +/* Simple program to layout "physical" memory for new lguest guest. + * Linked high to avoid likely physical memory. */ #define _LARGEFILE64_SOURCE #define _GNU_SOURCE #include @@ -34,20 +29,12 @@ #include #include #include -/*L:110 We can ignore the 28 include files we need for this program, but I do - * want to draw attention to the use of kernel-style types. - * - * As Linus said, "C is a Spartan language, and so should your naming be." I - * like these abbreviations and the header we need uses them, so we define them - * here. - */ typedef unsigned long long u64; typedef uint32_t u32; typedef uint16_t u16; typedef uint8_t u8; #include "../../include/linux/lguest_launcher.h" #include "../../include/asm-i386/e820.h" -/*:*/ #define PAGE_PRESENT 0x7 /* Present, RW, Execute */ #define NET_PEERNUM 1 @@ -56,52 +43,33 @@ typedef uint8_t u8; #define SIOCBRADDIF 0x89a2 /* add interface to bridge */ #endif -/*L:120 verbose is both a global flag and a macro. The C preprocessor allows - * this, and although I wouldn't recommend it, it works quite nicely here. */ static bool verbose; #define verbose(args...) \ do { if (verbose) printf(args); } while(0) -/*:*/ - -/* The pipe to send commands to the waker process */ static int waker_fd; -/* The top of guest physical memory. */ static u32 top; -/* This is our list of devices. */ struct device_list { - /* Summary information about the devices in our list: ready to pass to - * select() to ask which need servicing.*/ fd_set infds; int max_infd; - /* The descriptor page for the devices. */ struct lguest_device_desc *descs; - - /* A single linked list of devices. */ struct device *dev; - /* ... And an end pointer so we can easily append new devices */ struct device **lastdev; }; -/* The device structure describes a single device. */ struct device { - /* The linked-list pointer. */ struct device *next; - /* The descriptor for this device, as mapped into the Guest. */ struct lguest_device_desc *desc; - /* The memory page(s) of this device, if any. Also mapped in Guest. */ void *mem; - /* If handle_input is set, it wants to be called when this file - * descriptor is ready. */ + /* Watch this fd if handle_input non-NULL. */ int fd; bool (*handle_input)(int fd, struct device *me); - /* If handle_output is set, it wants to be called when the Guest sends - * DMA to this key. */ + /* Watch DMA to this key if handle_input non-NULL. */ unsigned long watch_key; u32 (*handle_output)(int fd, const struct iovec *iov, unsigned int num, struct device *me); @@ -110,11 +78,6 @@ struct device void *priv; }; -/*L:130 - * Loading the Kernel. - * - * We start with couple of simple helper routines. open_or_die() avoids - * error-checking code cluttering the callers: */ static int open_or_die(const char *name, int flags) { int fd = open(name, flags); @@ -123,38 +86,26 @@ static int open_or_die(const char *name, int flags) return fd; } -/* map_zeroed_pages() takes a (page-aligned) address and a number of pages. */ static void *map_zeroed_pages(unsigned long addr, unsigned int num) { - /* We cache the /dev/zero file-descriptor so we only open it once. */ static int fd = -1; if (fd == -1) fd = open_or_die("/dev/zero", O_RDONLY); - /* We use a private mapping (ie. if we write to the page, it will be - * copied), and obviously we insist that it be mapped where we ask. */ if (mmap((void *)addr, getpagesize() * num, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_FIXED|MAP_PRIVATE, fd, 0) != (void *)addr) err(1, "Mmaping %u pages of /dev/zero @%p", num, (void *)addr); - - /* Returning the address is just a courtesy: can simplify callers. */ return (void *)addr; } -/* To find out where to start we look for the magic Guest string, which marks - * the code we see in lguest_asm.S. This is a hack which we are currently - * plotting to replace with the normal Linux entry point. */ +/* Find magic string marking entry point, return entry point. */ static unsigned long entry_point(void *start, void *end, unsigned long page_offset) { void *p; - /* The scan gives us the physical starting address. We want the - * virtual address in this case, and fortunately, we already figured - * out the physical-virtual difference and passed it here in - * "page_offset". */ for (p = start; p < end; p++) if (memcmp(p, "GenuineLguest", strlen("GenuineLguest")) == 0) return (long)p + strlen("GenuineLguest") + page_offset; @@ -162,17 +113,7 @@ static unsigned long entry_point(void *start, void *end, err(1, "Is this image a genuine lguest?"); } -/* This routine takes an open vmlinux image, which is in ELF, and maps it into - * the Guest memory. ELF = Embedded Linking Format, which is the format used - * by all modern binaries on Linux including the kernel. - * - * The ELF headers give *two* addresses: a physical address, and a virtual - * address. The Guest kernel expects to be placed in memory at the physical - * address, and the page tables set up so it will correspond to that virtual - * address. We return the difference between the virtual and physical - * addresses in the "page_offset" pointer. - * - * We return the starting address. */ +/* Returns the entry point */ static unsigned long map_elf(int elf_fd, const Elf32_Ehdr *ehdr, unsigned long *page_offset) { @@ -181,61 +122,40 @@ static unsigned long map_elf(int elf_fd, const Elf32_Ehdr *ehdr, unsigned int i; unsigned long start = -1UL, end = 0; - /* Sanity checks on the main ELF header: an x86 executable with a - * reasonable number of correctly-sized program headers. */ + /* Sanity checks. */ if (ehdr->e_type != ET_EXEC || ehdr->e_machine != EM_386 || ehdr->e_phentsize != sizeof(Elf32_Phdr) || ehdr->e_phnum < 1 || ehdr->e_phnum > 65536U/sizeof(Elf32_Phdr)) errx(1, "Malformed elf header"); - /* An ELF executable contains an ELF header and a number of "program" - * headers which indicate which parts ("segments") of the program to - * load where. */ - - /* We read in all the program headers at once: */ if (lseek(elf_fd, ehdr->e_phoff, SEEK_SET) < 0) err(1, "Seeking to program headers"); if (read(elf_fd, phdr, sizeof(phdr)) != sizeof(phdr)) err(1, "Reading program headers"); - /* We don't know page_offset yet. */ *page_offset = 0; - - /* Try all the headers: there are usually only three. A read-only one, - * a read-write one, and a "note" section which isn't loadable. */ + /* We map the loadable segments at virtual addresses corresponding + * to their physical addresses (our virtual == guest physical). */ for (i = 0; i < ehdr->e_phnum; i++) { - /* If this isn't a loadable segment, we ignore it */ if (phdr[i].p_type != PT_LOAD) continue; verbose("Section %i: size %i addr %p\n", i, phdr[i].p_memsz, (void *)phdr[i].p_paddr); - /* We expect a simple linear address space: every segment must - * have the same difference between virtual (p_vaddr) and - * physical (p_paddr) address. */ + /* We expect linear address space. */ if (!*page_offset) *page_offset = phdr[i].p_vaddr - phdr[i].p_paddr; else if (*page_offset != phdr[i].p_vaddr - phdr[i].p_paddr) errx(1, "Page offset of section %i different", i); - /* We track the first and last address we mapped, so we can - * tell entry_point() where to scan. */ if (phdr[i].p_paddr < start) start = phdr[i].p_paddr; if (phdr[i].p_paddr + phdr[i].p_filesz > end) end = phdr[i].p_paddr + phdr[i].p_filesz; - /* We map this section of the file at its physical address. We - * map it read & write even if the header says this segment is - * read-only. The kernel really wants to be writable: it - * patches its own instructions which would normally be - * read-only. - * - * MAP_PRIVATE means that the page won't be copied until a - * write is done to it. This allows us to share much of the - * kernel memory between Guests. */ + /* We map everything private, writable. */ addr = mmap((void *)phdr[i].p_paddr, phdr[i].p_filesz, PROT_READ|PROT_WRITE|PROT_EXEC, @@ -249,31 +169,7 @@ static unsigned long map_elf(int elf_fd, const Elf32_Ehdr *ehdr, return entry_point((void *)start, (void *)end, *page_offset); } -/*L:170 Prepare to be SHOCKED and AMAZED. And possibly a trifle nauseated. - * - * We know that CONFIG_PAGE_OFFSET sets what virtual address the kernel expects - * to be. We don't know what that option was, but we can figure it out - * approximately by looking at the addresses in the code. I chose the common - * case of reading a memory location into the %eax register: - * - * movl , %eax - * - * This gets encoded as five bytes: "0xA1 <4-byte-address>". For example, - * "0xA1 0x18 0x60 0x47 0xC0" reads the address 0xC0476018 into %eax. - * - * In this example can guess that the kernel was compiled with - * CONFIG_PAGE_OFFSET set to 0xC0000000 (it's always a round number). If the - * kernel were larger than 16MB, we might see 0xC1 addresses show up, but our - * kernel isn't that bloated yet. - * - * Unfortunately, x86 has variable-length instructions, so finding this - * particular instruction properly involves writing a disassembler. Instead, - * we rely on statistics. We look for "0xA1" and tally the different bytes - * which occur 4 bytes later (the "0xC0" in our example above). When one of - * those bytes appears three times, we can be reasonably confident that it - * forms the start of CONFIG_PAGE_OFFSET. - * - * This is amazingly reliable. */ +/* This is amazingly reliable. */ static unsigned long intuit_page_offset(unsigned char *img, unsigned long len) { unsigned int i, possibilities[256] = { 0 }; @@ -286,52 +182,30 @@ static unsigned long intuit_page_offset(unsigned char *img, unsigned long len) errx(1, "could not determine page offset"); } -/*L:160 Unfortunately the entire ELF image isn't compressed: the segments - * which need loading are extracted and compressed raw. This denies us the - * information we need to make a fully-general loader. */ static unsigned long unpack_bzimage(int fd, unsigned long *page_offset) { gzFile f; int ret, len = 0; - /* A bzImage always gets loaded at physical address 1M. This is - * actually configurable as CONFIG_PHYSICAL_START, but as the comment - * there says, "Don't change this unless you know what you are doing". - * Indeed. */ void *img = (void *)0x100000; - /* gzdopen takes our file descriptor (carefully placed at the start of - * the GZIP header we found) and returns a gzFile. */ f = gzdopen(fd, "rb"); - /* We read it into memory in 64k chunks until we hit the end. */ while ((ret = gzread(f, img + len, 65536)) > 0) len += ret; if (ret < 0) err(1, "reading image from bzImage"); verbose("Unpacked size %i addr %p\n", len, img); - - /* Without the ELF header, we can't tell virtual-physical gap. This is - * CONFIG_PAGE_OFFSET, and people do actually change it. Fortunately, - * I have a clever way of figuring it out from the code itself. */ *page_offset = intuit_page_offset(img, len); return entry_point(img, img + len, *page_offset); } -/*L:150 A bzImage, unlike an ELF file, is not meant to be loaded. You're - * supposed to jump into it and it will unpack itself. We can't do that - * because the Guest can't run the unpacking code, and adding features to - * lguest kills puppies, so we don't want to. - * - * The bzImage is formed by putting the decompressing code in front of the - * compressed kernel code. So we can simple scan through it looking for the - * first "gzip" header, and start decompressing from there. */ static unsigned long load_bzimage(int fd, unsigned long *page_offset) { unsigned char c; int state = 0; - /* GZIP header is 0x1F 0x8B ... . */ + /* Ugly brute force search for gzip header. */ while (read(fd, &c, 1) == 1) { switch (state) { case 0: @@ -348,10 +222,8 @@ static unsigned long load_bzimage(int fd, unsigned long *page_offset) state++; break; case 9: - /* Seek back to the start of the gzip header. */ lseek(fd, -10, SEEK_CUR); - /* One final check: "compressed under UNIX". */ - if (c != 0x03) + if (c != 0x03) /* Compressed under UNIX. */ state = -1; else return unpack_bzimage(fd, page_offset); @@ -360,43 +232,25 @@ static unsigned long load_bzimage(int fd, unsigned long *page_offset) errx(1, "Could not find kernel in bzImage"); } -/*L:140 Loading the kernel is easy when it's a "vmlinux", but most kernels - * come wrapped up in the self-decompressing "bzImage" format. With some funky - * coding, we can load those, too. */ static unsigned long load_kernel(int fd, unsigned long *page_offset) { Elf32_Ehdr hdr; - /* Read in the first few bytes. */ if (read(fd, &hdr, sizeof(hdr)) != sizeof(hdr)) err(1, "Reading kernel"); - /* If it's an ELF file, it starts with "\177ELF" */ if (memcmp(hdr.e_ident, ELFMAG, SELFMAG) == 0) return map_elf(fd, &hdr, page_offset); - /* Otherwise we assume it's a bzImage, and try to unpack it */ return load_bzimage(fd, page_offset); } -/* This is a trivial little helper to align pages. Andi Kleen hated it because - * it calls getpagesize() twice: "it's dumb code." - * - * Kernel guys get really het up about optimization, even when it's not - * necessary. I leave this code as a reaction against that. */ static inline unsigned long page_align(unsigned long addr) { - /* Add upwards and truncate downwards. */ return ((addr + getpagesize()-1) & ~(getpagesize()-1)); } -/*L:180 An "initial ram disk" is a disk image loaded into memory along with - * the kernel which the kernel can use to boot from without needing any - * drivers. Most distributions now use this as standard: the initrd contains - * the code to load the appropriate driver modules for the current machine. - * - * Importantly, James Morris works for RedHat, and Fedora uses initrds for its - * kernels. He sent me this (and tells me when I break it). */ +/* initrd gets loaded at top of memory: return length. */ static unsigned long load_initrd(const char *name, unsigned long mem) { int ifd; @@ -405,35 +259,21 @@ static unsigned long load_initrd(const char *name, unsigned long mem) void *iaddr; ifd = open_or_die(name, O_RDONLY); - /* fstat() is needed to get the file size. */ if (fstat(ifd, &st) < 0) err(1, "fstat() on initrd '%s'", name); - /* The length needs to be rounded up to a page size: mmap needs the - * address to be page aligned. */ len = page_align(st.st_size); - /* We map the initrd at the top of memory. */ iaddr = mmap((void *)mem - len, st.st_size, PROT_READ|PROT_EXEC|PROT_WRITE, MAP_FIXED|MAP_PRIVATE, ifd, 0); if (iaddr != (void *)mem - len) err(1, "Mmaping initrd '%s' returned %p not %p", name, iaddr, (void *)mem - len); - /* Once a file is mapped, you can close the file descriptor. It's a - * little odd, but quite useful. */ close(ifd); verbose("mapped initrd %s size=%lu @ %p\n", name, st.st_size, iaddr); - - /* We return the initrd size. */ return len; } -/* Once we know how much memory we have, and the address the Guest kernel - * expects, we can construct simple linear page tables which will get the Guest - * far enough into the boot to create its own. - * - * We lay them out of the way, just below the initrd (which is why we need to - * know its size). */ static unsigned long setup_pagetables(unsigned long mem, unsigned long initrd_size, unsigned long page_offset) @@ -442,32 +282,23 @@ static unsigned long setup_pagetables(unsigned long mem, unsigned int mapped_pages, i, linear_pages; unsigned int ptes_per_page = getpagesize()/sizeof(u32); - /* Ideally we map all physical memory starting at page_offset. - * However, if page_offset is 0xC0000000 we can only map 1G of physical - * (0xC0000000 + 1G overflows). */ + /* If we can map all of memory above page_offset, we do so. */ if (mem <= -page_offset) mapped_pages = mem/getpagesize(); else mapped_pages = -page_offset/getpagesize(); - /* Each PTE page can map ptes_per_page pages: how many do we need? */ + /* Each linear PTE page can map ptes_per_page pages. */ linear_pages = (mapped_pages + ptes_per_page-1)/ptes_per_page; - /* We put the toplevel page directory page at the top of memory. */ + /* We lay out top-level then linear mapping immediately below initrd */ pgdir = (void *)mem - initrd_size - getpagesize(); - - /* Now we use the next linear_pages pages as pte pages */ linear = (void *)pgdir - linear_pages*getpagesize(); - /* Linear mapping is easy: put every page's address into the mapping in - * order. PAGE_PRESENT contains the flags Present, Writable and - * Executable. */ for (i = 0; i < mapped_pages; i++) linear[i] = ((i * getpagesize()) | PAGE_PRESENT); - /* The top level points to the linear page table pages above. The - * entry representing page_offset points to the first one, and they - * continue from there. */ + /* Now set up pgd so that this memory is at page_offset */ for (i = 0; i < mapped_pages; i += ptes_per_page) { pgdir[(i + page_offset/getpagesize())/ptes_per_page] = (((u32)linear + i*sizeof(u32)) | PAGE_PRESENT); @@ -476,13 +307,9 @@ static unsigned long setup_pagetables(unsigned long mem, verbose("Linear mapping of %u pages in %u pte pages at %p\n", mapped_pages, linear_pages, linear); - /* We return the top level (guest-physical) address: the kernel needs - * to know where it is. */ return (unsigned long)pgdir; } -/* Simple routine to roll all the commandline arguments together with spaces - * between them. */ static void concat(char *dst, char *args[]) { unsigned int i, len = 0; @@ -496,10 +323,6 @@ static void concat(char *dst, char *args[]) dst[len] = '\0'; } -/* This is where we actually tell the kernel to initialize the Guest. We saw - * the arguments it expects when we looked at initialize() in lguest_user.c: - * the top physical page to allow, the top level pagetable, the entry point and - * the page_offset constant for the Guest. */ static int tell_kernel(u32 pgdir, u32 start, u32 page_offset) { u32 args[] = { LHREQ_INITIALIZE, @@ -509,11 +332,8 @@ static int tell_kernel(u32 pgdir, u32 start, u32 page_offset) fd = open_or_die("/dev/lguest", O_RDWR); if (write(fd, args, sizeof(args)) < 0) err(1, "Writing to /dev/lguest"); - - /* We return the /dev/lguest file descriptor to control this Guest */ return fd; } -/*:*/ static void set_fd(int fd, struct device_list *devices) { @@ -522,108 +342,61 @@ static void set_fd(int fd, struct device_list *devices) devices->max_infd = fd; } -/*L:200 - * The Waker. - * - * With a console and network devices, we can have lots of input which we need - * to process. We could try to tell the kernel what file descriptors to watch, - * but handing a file descriptor mask through to the kernel is fairly icky. - * - * Instead, we fork off a process which watches the file descriptors and writes - * the LHREQ_BREAK command to the /dev/lguest filedescriptor to tell the Host - * loop to stop running the Guest. This causes it to return from the - * /dev/lguest read with -EAGAIN, where it will write to /dev/lguest to reset - * the LHREQ_BREAK and wake us up again. - * - * This, of course, is merely a different *kind* of icky. - */ +/* When input arrives, we tell the kernel to kick lguest out with -EAGAIN. */ static void wake_parent(int pipefd, int lguest_fd, struct device_list *devices) { - /* Add the pipe from the Launcher to the fdset in the device_list, so - * we watch it, too. */ set_fd(pipefd, devices); for (;;) { fd_set rfds = devices->infds; u32 args[] = { LHREQ_BREAK, 1 }; - /* Wait until input is ready from one of the devices. */ select(devices->max_infd+1, &rfds, NULL, NULL, NULL); - /* Is it a message from the Launcher? */ if (FD_ISSET(pipefd, &rfds)) { int ignorefd; - /* If read() returns 0, it means the Launcher has - * exited. We silently follow. */ if (read(pipefd, &ignorefd, sizeof(ignorefd)) == 0) exit(0); - /* Otherwise it's telling us there's a problem with one - * of the devices, and we should ignore that file - * descriptor from now on. */ FD_CLR(ignorefd, &devices->infds); - } else /* Send LHREQ_BREAK command. */ + } else write(lguest_fd, args, sizeof(args)); } } -/* This routine just sets up a pipe to the Waker process. */ static int setup_waker(int lguest_fd, struct device_list *device_list) { int pipefd[2], child; - /* We create a pipe to talk to the waker, and also so it knows when the - * Launcher dies (and closes pipe). */ pipe(pipefd); child = fork(); if (child == -1) err(1, "forking"); if (child == 0) { - /* Close the "writing" end of our copy of the pipe */ close(pipefd[1]); wake_parent(pipefd[0], lguest_fd, device_list); } - /* Close the reading end of our copy of the pipe. */ close(pipefd[0]); - /* Here is the fd used to talk to the waker. */ return pipefd[1]; } -/*L:210 - * Device Handling. - * - * When the Guest sends DMA to us, it sends us an array of addresses and sizes. - * We need to make sure it's not trying to reach into the Launcher itself, so - * we have a convenient routine which check it and exits with an error message - * if something funny is going on: - */ static void *_check_pointer(unsigned long addr, unsigned int size, unsigned int line) { - /* We have to separately check addr and addr+size, because size could - * be huge and addr + size might wrap around. */ if (addr >= top || addr + size >= top) errx(1, "%s:%i: Invalid address %li", __FILE__, line, addr); - /* We return a pointer for the caller's convenience, now we know it's - * safe to use. */ return (void *)addr; } -/* A macro which transparently hands the line number to the real function. */ #define check_pointer(addr,size) _check_pointer(addr, size, __LINE__) -/* The Guest has given us the address of a "struct lguest_dma". We check it's - * OK and convert it to an iovec (which is a simple array of ptr/size - * pairs). */ +/* Returns pointer to dma->used_len */ static u32 *dma2iov(unsigned long dma, struct iovec iov[], unsigned *num) { unsigned int i; struct lguest_dma *udma; - /* First we make sure that the array memory itself is valid. */ udma = check_pointer(dma, sizeof(*udma)); - /* Now we check each element */ for (i = 0; i < LGUEST_MAX_DMA_SECTIONS; i++) { - /* A zero length ends the array. */ if (!udma->len[i]) break; @@ -631,15 +404,9 @@ static u32 *dma2iov(unsigned long dma, struct iovec iov[], unsigned *num) iov[i].iov_len = udma->len[i]; } *num = i; - - /* We return the pointer to where the caller should write the amount of - * the buffer used. */ return &udma->used_len; } -/* This routine gets a DMA buffer from the Guest for a given key, and converts - * it to an iovec array. It returns the interrupt the Guest wants when we're - * finished, and a pointer to the "used_len" field to fill in. */ static u32 *get_dma_buffer(int fd, void *key, struct iovec iov[], unsigned int *num, u32 *irq) { @@ -647,21 +414,16 @@ static u32 *get_dma_buffer(int fd, void *key, unsigned long udma; u32 *res; - /* Ask the kernel for a DMA buffer corresponding to this key. */ udma = write(fd, buf, sizeof(buf)); - /* They haven't registered any, or they're all used? */ if (udma == (unsigned long)-1) return NULL; - /* Convert it into our iovec array */ + /* Kernel stashes irq in ->used_len. */ res = dma2iov(udma, iov, num); - /* The kernel stashes irq in ->used_len to get it out to us. */ *irq = *res; - /* Return a pointer to ((struct lguest_dma *)udma)->used_len. */ return res; } -/* This is a convenient routine to send the Guest an interrupt. */ static void trigger_irq(int fd, u32 irq) { u32 buf[] = { LHREQ_IRQ, irq }; @@ -669,10 +431,6 @@ static void trigger_irq(int fd, u32 irq) err(1, "Triggering irq %i", irq); } -/* This simply sets up an iovec array where we can put data to be discarded. - * This happens when the Guest doesn't want or can't handle the input: we have - * to get rid of it somewhere, and if we bury it in the ceiling space it will - * start to smell after a week. */ static void discard_iovec(struct iovec *iov, unsigned int *num) { static char discard_buf[1024]; @@ -681,24 +439,19 @@ static void discard_iovec(struct iovec *iov, unsigned int *num) iov->iov_len = sizeof(discard_buf); } -/* Here is the input terminal setting we save, and the routine to restore them - * on exit so the user can see what they type next. */ static struct termios orig_term; static void restore_term(void) { tcsetattr(STDIN_FILENO, TCSANOW, &orig_term); } -/* We associate some data with the console for our exit hack. */ struct console_abort { - /* How many times have they hit ^C? */ int count; - /* When did they start? */ struct timeval start; }; -/* This is the routine which handles console input (ie. stdin). */ +/* We DMA input to buffer bound at start of console page. */ static bool handle_console_input(int fd, struct device *dev) { u32 irq = 0, *lenp; @@ -707,38 +460,24 @@ static bool handle_console_input(int fd, struct device *dev) struct iovec iov[LGUEST_MAX_DMA_SECTIONS]; struct console_abort *abort = dev->priv; - /* First we get the console buffer from the Guest. The key is dev->mem - * which was set to 0 in setup_console(). */ lenp = get_dma_buffer(fd, dev->mem, iov, &num, &irq); if (!lenp) { - /* If it's not ready for input, warn and set up to discard. */ warn("console: no dma buffer!"); discard_iovec(iov, &num); } - /* This is why we convert to iovecs: the readv() call uses them, and so - * it reads straight into the Guest's buffer. */ len = readv(dev->fd, iov, num); if (len <= 0) { - /* This implies that the console is closed, is /dev/null, or - * something went terribly wrong. We still go through the rest - * of the logic, though, especially the exit handling below. */ warnx("Failed to get console input, ignoring console."); len = 0; } - /* If we read the data into the Guest, fill in the length and send the - * interrupt. */ if (lenp) { *lenp = len; trigger_irq(fd, irq); } - /* Three ^C within one second? Exit. - * - * This is such a hack, but works surprisingly well. Each ^C has to be - * in a buffer by itself, so they can't be too fast. But we check that - * we get three within about a second, so they can't be too slow. */ + /* Three ^C within one second? Exit. */ if (len == 1 && ((char *)iov[0].iov_base)[0] == 3) { if (!abort->count++) gettimeofday(&abort->start, NULL); @@ -746,60 +485,43 @@ static bool handle_console_input(int fd, struct device *dev) struct timeval now; gettimeofday(&now, NULL); if (now.tv_sec <= abort->start.tv_sec+1) { + /* Make sure waker is not blocked in BREAK */ u32 args[] = { LHREQ_BREAK, 0 }; - /* Close the fd so Waker will know it has to - * exit. */ close(waker_fd); - /* Just in case waker is blocked in BREAK, send - * unbreak now. */ write(fd, args, sizeof(args)); exit(2); } abort->count = 0; } } else - /* Any other key resets the abort counter. */ abort->count = 0; - /* Now, if we didn't read anything, put the input terminal back and - * return failure (meaning, don't call us again). */ if (!len) { restore_term(); return false; } - /* Everything went OK! */ return true; } -/* Handling console output is much simpler than input. */ static u32 handle_console_output(int fd, const struct iovec *iov, unsigned num, struct device*dev) { - /* Whatever the Guest sends, write it to standard output. Return the - * number of bytes written. */ return writev(STDOUT_FILENO, iov, num); } -/* Guest->Host network output is also pretty easy. */ static u32 handle_tun_output(int fd, const struct iovec *iov, unsigned num, struct device *dev) { - /* We put a flag in the "priv" pointer of the network device, and set - * it as soon as we see output. We'll see why in handle_tun_input() */ + /* Now we've seen output, we should warn if we can't get buffers. */ *(bool *)dev->priv = true; - /* Whatever packet the Guest sent us, write it out to the tun - * device. */ return writev(dev->fd, iov, num); } -/* This matches the peer_key() in lguest_net.c. The key for any given slot - * is the address of the network device's page plus 4 * the slot number. */ static unsigned long peer_offset(unsigned int peernum) { return 4 * peernum; } -/* This is where we handle a packet coming in from the tun device */ static bool handle_tun_input(int fd, struct device *dev) { u32 irq = 0, *lenp; @@ -807,28 +529,17 @@ static bool handle_tun_input(int fd, struct device *dev) unsigned num; struct iovec iov[LGUEST_MAX_DMA_SECTIONS]; - /* First we get a buffer the Guest has bound to its key. */ lenp = get_dma_buffer(fd, dev->mem+peer_offset(NET_PEERNUM), iov, &num, &irq); if (!lenp) { - /* Now, it's expected that if we try to send a packet too - * early, the Guest won't be ready yet. This is why we set a - * flag when the Guest sends its first packet. If it's sent a - * packet we assume it should be ready to receive them. - * - * Actually, this is what the status bits in the descriptor are - * for: we should *use* them. FIXME! */ if (*(bool *)dev->priv) warn("network: no dma buffer!"); discard_iovec(iov, &num); } - /* Read the packet from the device directly into the Guest's buffer. */ len = readv(dev->fd, iov, num); if (len <= 0) err(1, "reading network"); - - /* Write the used_len, and trigger the interrupt for the Guest */ if (lenp) { *lenp = len; trigger_irq(fd, irq); @@ -836,13 +547,9 @@ static bool handle_tun_input(int fd, struct device *dev) verbose("tun input packet len %i [%02x %02x] (%s)\n", len, ((u8 *)iov[0].iov_base)[0], ((u8 *)iov[0].iov_base)[1], lenp ? "sent" : "discarded"); - /* All good. */ return true; } -/* The last device handling routine is block output: the Guest has sent a DMA - * to the block device. It will have placed the command it wants in the - * "struct lguest_block_page". */ static u32 handle_block_output(int fd, const struct iovec *iov, unsigned num, struct device *dev) { @@ -852,64 +559,36 @@ static u32 handle_block_output(int fd, const struct iovec *iov, struct iovec reply[LGUEST_MAX_DMA_SECTIONS]; off64_t device_len, off = (off64_t)p->sector * 512; - /* First we extract the device length from the dev->priv pointer. */ device_len = *(off64_t *)dev->priv; - /* We first check that the read or write is within the length of the - * block file. */ if (off >= device_len) err(1, "Bad offset %llu vs %llu", off, device_len); - /* Move to the right location in the block file. This shouldn't fail, - * but best to check. */ if (lseek64(dev->fd, off, SEEK_SET) != off) err(1, "Bad seek to sector %i", p->sector); verbose("Block: %s at offset %llu\n", p->type ? "WRITE" : "READ", off); - /* They were supposed to bind a reply buffer at key equal to the start - * of the block device memory. We need this to tell them when the - * request is finished. */ lenp = get_dma_buffer(fd, dev->mem, reply, &reply_num, &irq); if (!lenp) err(1, "Block request didn't give us a dma buffer"); if (p->type) { - /* A write request. The DMA they sent contained the data, so - * write it out. */ len = writev(dev->fd, iov, num); - /* Grr... Now we know how long the "struct lguest_dma" they - * sent was, we make sure they didn't try to write over the end - * of the block file (possibly extending it). */ if (off + len > device_len) { - /* Trim it back to the correct length */ ftruncate(dev->fd, device_len); - /* Die, bad Guest, die. */ errx(1, "Write past end %llu+%u", off, len); } - /* The reply length is 0: we just send back an empty DMA to - * interrupt them and tell them the write is finished. */ *lenp = 0; } else { - /* A read request. They sent an empty DMA to start the - * request, and we put the read contents into the reply - * buffer. */ len = readv(dev->fd, reply, reply_num); *lenp = len; } - /* The result is 1 (done), 2 if there was an error (short read or - * write). */ p->result = 1 + (p->bytes != len); - /* Now tell them we've used their reply buffer. */ trigger_irq(fd, irq); - - /* We're supposed to return the number of bytes of the output buffer we - * used. But the block device uses the "result" field instead, so we - * don't bother. */ return 0; } -/* This is the generic routine we call when the Guest sends some DMA out. */ static void handle_output(int fd, unsigned long dma, unsigned long key, struct device_list *devices) { @@ -918,53 +597,30 @@ static void handle_output(int fd, unsigned long dma, unsigned long key, struct iovec iov[LGUEST_MAX_DMA_SECTIONS]; unsigned num = 0; - /* Convert the "struct lguest_dma" they're sending to a "struct - * iovec". */ lenp = dma2iov(dma, iov, &num); - - /* Check each device: if they expect output to this key, tell them to - * handle it. */ for (i = devices->dev; i; i = i->next) { if (i->handle_output && key == i->watch_key) { - /* We write the result straight into the used_len field - * for them. */ *lenp = i->handle_output(fd, iov, num, i); return; } } - - /* This can happen: the kernel sends any SEND_DMA which doesn't match - * another Guest to us. It could be that another Guest just left a - * network, for example. But it's unusual. */ warnx("Pending dma %p, key %p", (void *)dma, (void *)key); } -/* This is called when the waker wakes us up: check for incoming file - * descriptors. */ static void handle_input(int fd, struct device_list *devices) { - /* select() wants a zeroed timeval to mean "don't wait". */ struct timeval poll = { .tv_sec = 0, .tv_usec = 0 }; for (;;) { struct device *i; fd_set fds = devices->infds; - /* If nothing is ready, we're done. */ if (select(devices->max_infd+1, &fds, NULL, NULL, &poll) == 0) break; - /* Otherwise, call the device(s) which have readable - * file descriptors and a method of handling them. */ for (i = devices->dev; i; i = i->next) { if (i->handle_input && FD_ISSET(i->fd, &fds)) { - /* If handle_input() returns false, it means we - * should no longer service it. - * handle_console_input() does this. */ if (!i->handle_input(fd, i)) { - /* Clear it from the set of input file - * descriptors kept at the head of the - * device list. */ FD_CLR(i->fd, &devices->infds); /* Tell waker to ignore it too... */ write(waker_fd, &i->fd, sizeof(i->fd)); @@ -974,15 +630,6 @@ static void handle_input(int fd, struct device_list *devices) } } -/*L:190 - * Device Setup - * - * All devices need a descriptor so the Guest knows it exists, and a "struct - * device" so the Launcher can keep track of it. We have common helper - * routines to allocate them. - * - * This routine allocates a new "struct lguest_device_desc" from descriptor - * table in the devices array just above the Guest's normal memory. */ static struct lguest_device_desc * new_dev_desc(struct lguest_device_desc *descs, u16 type, u16 features, u16 num_pages) @@ -994,8 +641,6 @@ new_dev_desc(struct lguest_device_desc *descs, descs[i].type = type; descs[i].features = features; descs[i].num_pages = num_pages; - /* If they said the device needs memory, we allocate - * that now, bumping up the top of Guest memory. */ if (num_pages) { map_zeroed_pages(top, num_pages); descs[i].pfn = top/getpagesize(); @@ -1007,9 +652,6 @@ new_dev_desc(struct lguest_device_desc *descs, errx(1, "too many devices"); } -/* This monster routine does all the creation and setup of a new device, - * including caling new_dev_desc() to allocate the descriptor and device - * memory. */ static struct device *new_device(struct device_list *devices, u16 type, u16 num_pages, u16 features, int fd, @@ -1022,18 +664,12 @@ static struct device *new_device(struct device_list *devices, { struct device *dev = malloc(sizeof(*dev)); - /* Append to device list. Prepending to a single-linked list is - * easier, but the user expects the devices to be arranged on the bus - * in command-line order. The first network device on the command line - * is eth0, the first block device /dev/lgba, etc. */ + /* Append to device list. */ *devices->lastdev = dev; dev->next = NULL; devices->lastdev = &dev->next; - /* Now we populate the fields one at a time. */ dev->fd = fd; - /* If we have an input handler for this file descriptor, then we add it - * to the device_list's fdset and maxfd. */ if (handle_input) set_fd(dev->fd, devices); dev->desc = new_dev_desc(devices->descs, type, features, num_pages); @@ -1044,37 +680,27 @@ static struct device *new_device(struct device_list *devices, return dev; } -/* Our first setup routine is the console. It's a fairly simple device, but - * UNIX tty handling makes it uglier than it could be. */ static void setup_console(struct device_list *devices) { struct device *dev; - /* If we can save the initial standard input settings... */ if (tcgetattr(STDIN_FILENO, &orig_term) == 0) { struct termios term = orig_term; - /* Then we turn off echo, line buffering and ^C etc. We want a - * raw input stream to the Guest. */ term.c_lflag &= ~(ISIG|ICANON|ECHO); tcsetattr(STDIN_FILENO, TCSANOW, &term); - /* If we exit gracefully, the original settings will be - * restored so the user can see what they're typing. */ atexit(restore_term); } - /* We don't currently require any memory for the console, so we ask for - * 0 pages. */ + /* We don't currently require a page for the console. */ dev = new_device(devices, LGUEST_DEVICE_T_CONSOLE, 0, 0, STDIN_FILENO, handle_console_input, LGUEST_CONSOLE_DMA_KEY, handle_console_output); - /* We store the console state in dev->priv, and initialize it. */ dev->priv = malloc(sizeof(struct console_abort)); ((struct console_abort *)dev->priv)->count = 0; verbose("device %p: console\n", (void *)(dev->desc->pfn * getpagesize())); } -/* Setting up a block file is also fairly straightforward. */ static void setup_block_file(const char *filename, struct device_list *devices) { int fd; @@ -1082,47 +708,20 @@ static void setup_block_file(const char *filename, struct device_list *devices) off64_t *device_len; struct lguest_block_page *p; - /* We open with O_LARGEFILE because otherwise we get stuck at 2G. We - * open with O_DIRECT because otherwise our benchmarks go much too - * fast. */ fd = open_or_die(filename, O_RDWR|O_LARGEFILE|O_DIRECT); - - /* We want one page, and have no input handler (the block file never - * has anything interesting to say to us). Our timing will be quite - * random, so it should be a reasonable randomness source. */ dev = new_device(devices, LGUEST_DEVICE_T_BLOCK, 1, LGUEST_DEVICE_F_RANDOMNESS, fd, NULL, 0, handle_block_output); - - /* We store the device size in the private area */ device_len = dev->priv = malloc(sizeof(*device_len)); - /* This is the safe way of establishing the size of our device: it - * might be a normal file or an actual block device like /dev/hdb. */ *device_len = lseek64(fd, 0, SEEK_END); - - /* The device memory is a "struct lguest_block_page". It's zeroed - * already, we just need to put in the device size. Block devices - * think in sectors (ie. 512 byte chunks), so we translate here. */ p = dev->mem; + p->num_sectors = *device_len/512; verbose("device %p: block %i sectors\n", (void *)(dev->desc->pfn * getpagesize()), p->num_sectors); } -/* - * Network Devices. - * - * Setting up network devices is quite a pain, because we have three types. - * First, we have the inter-Guest network. This is a file which is mapped into - * the address space of the Guests who are on the network. Because it is a - * shared mapping, the same page underlies all the devices, and they can send - * DMA to each other. - * - * Remember from our network driver, the Guest is told what slot in the page it - * is to use. We use exclusive fnctl locks to reserve a slot. If another - * Guest is using a slot, the lock will fail and we try another. Because fnctl - * locks are cleaned up automatically when we die, this cleverly means that our - * reservation on the slot will vanish if we crash. */ +/* We use fnctl locks to reserve network slots (autocleanup!) */ static unsigned int find_slot(int netfd, const char *filename) { struct flock fl; @@ -1130,33 +729,26 @@ static unsigned int find_slot(int netfd, const char *filename) fl.l_type = F_WRLCK; fl.l_whence = SEEK_SET; fl.l_len = 1; - /* Try a 1 byte lock in each possible position number */ for (fl.l_start = 0; fl.l_start < getpagesize()/sizeof(struct lguest_net); fl.l_start++) { - /* If we succeed, return the slot number. */ if (fcntl(netfd, F_SETLK, &fl) == 0) return fl.l_start; } errx(1, "No free slots in network file %s", filename); } -/* This function sets up the network file */ static void setup_net_file(const char *filename, struct device_list *devices) { int netfd; struct device *dev; - /* We don't use open_or_die() here: for friendliness we create the file - * if it doesn't already exist. */ netfd = open(filename, O_RDWR, 0); if (netfd < 0) { if (errno == ENOENT) { netfd = open(filename, O_RDWR|O_CREAT, 0600); if (netfd >= 0) { - /* If we succeeded, initialize the file with a - * blank page. */ char page[getpagesize()]; memset(page, 0, sizeof(page)); write(netfd, page, sizeof(page)); @@ -1166,15 +758,11 @@ static void setup_net_file(const char *filename, err(1, "cannot open net file '%s'", filename); } - /* We need 1 page, and the features indicate the slot to use and that - * no checksum is needed. We never touch this device again; it's - * between the Guests on the network, so we don't register input or - * output handlers. */ dev = new_device(devices, LGUEST_DEVICE_T_NET, 1, find_slot(netfd, filename)|LGUEST_NET_F_NOCSUM, -1, NULL, 0, NULL); - /* Map the shared file. */ + /* We overwrite the /dev/zero mapping with the actual file. */ if (mmap(dev->mem, getpagesize(), PROT_READ|PROT_WRITE, MAP_FIXED|MAP_SHARED, netfd, 0) != dev->mem) err(1, "could not mmap '%s'", filename); @@ -1182,7 +770,6 @@ static void setup_net_file(const char *filename, (void *)(dev->desc->pfn * getpagesize()), filename, dev->desc->features & ~LGUEST_NET_F_NOCSUM); } -/*:*/ static u32 str2ip(const char *ipaddr) { @@ -1192,11 +779,7 @@ static u32 str2ip(const char *ipaddr) return (byte[0] << 24) | (byte[1] << 16) | (byte[2] << 8) | byte[3]; } -/* This code is "adapted" from libbridge: it attaches the Host end of the - * network device to the bridge device specified by the command line. - * - * This is yet another James Morris contribution (I'm an IP-level guy, so I - * dislike bridging), and I just try not to break it. */ +/* adapted from libbridge */ static void add_to_bridge(int fd, const char *if_name, const char *br_name) { int ifidx; @@ -1215,16 +798,12 @@ static void add_to_bridge(int fd, const char *if_name, const char *br_name) err(1, "can't add %s to bridge %s", if_name, br_name); } -/* This sets up the Host end of the network device with an IP address, brings - * it up so packets will flow, the copies the MAC address into the hwaddr - * pointer (in practice, the Host's slot in the network device's memory). */ static void configure_device(int fd, const char *devname, u32 ipaddr, unsigned char hwaddr[6]) { struct ifreq ifr; struct sockaddr_in *sin = (struct sockaddr_in *)&ifr.ifr_addr; - /* Don't read these incantations. Just cut & paste them like I did! */ memset(&ifr, 0, sizeof(ifr)); strcpy(ifr.ifr_name, devname); sin->sin_family = AF_INET; @@ -1235,19 +814,12 @@ static void configure_device(int fd, const char *devname, u32 ipaddr, if (ioctl(fd, SIOCSIFFLAGS, &ifr) != 0) err(1, "Bringing interface %s up", devname); - /* SIOC stands for Socket I/O Control. G means Get (vs S for Set - * above). IF means Interface, and HWADDR is hardware address. - * Simple! */ if (ioctl(fd, SIOCGIFHWADDR, &ifr) != 0) err(1, "getting hw address for %s", devname); + memcpy(hwaddr, ifr.ifr_hwaddr.sa_data, 6); } -/*L:195 The other kind of network is a Host<->Guest network. This can either - * use briding or routing, but the principle is the same: it uses the "tun" - * device to inject packets into the Host as if they came in from a normal - * network card. We just shunt packets between the Guest and the tun - * device. */ static void setup_tun_net(const char *arg, struct device_list *devices) { struct device *dev; @@ -1256,56 +828,36 @@ static void setup_tun_net(const char *arg, struct device_list *devices) u32 ip; const char *br_name = NULL; - /* We open the /dev/net/tun device and tell it we want a tap device. A - * tap device is like a tun device, only somehow different. To tell - * the truth, I completely blundered my way through this code, but it - * works now! */ netfd = open_or_die("/dev/net/tun", O_RDWR); memset(&ifr, 0, sizeof(ifr)); ifr.ifr_flags = IFF_TAP | IFF_NO_PI; strcpy(ifr.ifr_name, "tap%d"); if (ioctl(netfd, TUNSETIFF, &ifr) != 0) err(1, "configuring /dev/net/tun"); - /* We don't need checksums calculated for packets coming in this - * device: trust us! */ ioctl(netfd, TUNSETNOCSUM, 1); - /* We create the net device with 1 page, using the features field of - * the descriptor to tell the Guest it is in slot 1 (NET_PEERNUM), and - * that the device has fairly random timing. We do *not* specify - * LGUEST_NET_F_NOCSUM: these packets can reach the real world. - * - * We will put our MAC address is slot 0 for the Guest to see, so - * it will send packets to us using the key "peer_offset(0)": */ + /* You will be peer 1: we should create enough jitter to randomize */ dev = new_device(devices, LGUEST_DEVICE_T_NET, 1, NET_PEERNUM|LGUEST_DEVICE_F_RANDOMNESS, netfd, handle_tun_input, peer_offset(0), handle_tun_output); - - /* We keep a flag which says whether we've seen packets come out from - * this network device. */ dev->priv = malloc(sizeof(bool)); *(bool *)dev->priv = false; - /* We need a socket to perform the magic network ioctls to bring up the - * tap interface, connect to the bridge etc. Any socket will do! */ ipfd = socket(PF_INET, SOCK_DGRAM, IPPROTO_IP); if (ipfd < 0) err(1, "opening IP socket"); - /* If the command line was --tunnet=bridge: do bridging. */ if (!strncmp(BRIDGE_PFX, arg, strlen(BRIDGE_PFX))) { ip = INADDR_ANY; br_name = arg + strlen(BRIDGE_PFX); add_to_bridge(ipfd, ifr.ifr_name, br_name); - } else /* It is an IP address to set up the device with */ + } else ip = str2ip(arg); - /* We are peer 0, ie. first slot, so we hand dev->mem to this routine - * to write the MAC address at the start of the device memory. */ + /* We are peer 0, ie. first slot. */ configure_device(ipfd, ifr.ifr_name, ip, dev->mem); - /* Set "promisc" bit: we want every single packet if we're going to - * bridge to other machines (and otherwise it doesn't matter). */ + /* Set "promisc" bit: we want every single packet. */ *((u8 *)dev->mem) |= 0x1; close(ipfd); @@ -1316,10 +868,7 @@ static void setup_tun_net(const char *arg, struct device_list *devices) if (br_name) verbose("attached to bridge: %s\n", br_name); } -/* That's the end of device setup. */ -/*L:220 Finally we reach the core of the Launcher, which runs the Guest, serves - * its input and output, and finally, lays it to rest. */ static void __attribute__((noreturn)) run_guest(int lguest_fd, struct device_list *device_list) { @@ -1331,37 +880,20 @@ run_guest(int lguest_fd, struct device_list *device_list) /* We read from the /dev/lguest device to run the Guest. */ readval = read(lguest_fd, arr, sizeof(arr)); - /* The read can only really return sizeof(arr) (the Guest did a - * SEND_DMA to us), or an error. */ - - /* For a successful read, arr[0] is the address of the "struct - * lguest_dma", and arr[1] is the key the Guest sent to. */ if (readval == sizeof(arr)) { handle_output(lguest_fd, arr[0], arr[1], device_list); continue; - /* ENOENT means the Guest died. Reading tells us why. */ } else if (errno == ENOENT) { char reason[1024] = { 0 }; read(lguest_fd, reason, sizeof(reason)-1); errx(1, "%s", reason); - /* EAGAIN means the waker wanted us to look at some input. - * Anything else means a bug or incompatible change. */ } else if (errno != EAGAIN) err(1, "Running guest failed"); - - /* Service input, then unset the BREAK which releases - * the Waker. */ handle_input(lguest_fd, device_list); if (write(lguest_fd, args, sizeof(args)) < 0) err(1, "Resetting break"); } } -/* - * This is the end of the Launcher. - * - * But wait! We've seen I/O from the Launcher, and we've seen I/O from the - * Drivers. If we were to see the Host kernel I/O code, our understanding - * would be complete... :*/ static struct option opts[] = { { "verbose", 0, NULL, 'v' }, @@ -1379,49 +911,20 @@ static void usage(void) " vmlinux [args...]"); } -/*L:100 The Launcher code itself takes us out into userspace, that scary place - * where pointers run wild and free! Unfortunately, like most userspace - * programs, it's quite boring (which is why everyone like to hack on the - * kernel!). Perhaps if you make up an Lguest Drinking Game at this point, it - * will get you through this section. Or, maybe not. - * - * The Launcher binary sits up high, usually starting at address 0xB8000000. - * Everything below this is the "physical" memory for the Guest. For example, - * if the Guest were to write a "1" at physical address 0, we would see a "1" - * in the Launcher at "(int *)0". Guest physical == Launcher virtual. - * - * This can be tough to get your head around, but usually it just means that we - * don't need to do any conversion when the Guest gives us it's "physical" - * addresses. - */ int main(int argc, char *argv[]) { - /* Memory, top-level pagetable, code startpoint, PAGE_OFFSET and size - * of the (optional) initrd. */ unsigned long mem = 0, pgdir, start, page_offset, initrd_size = 0; - /* A temporary and the /dev/lguest file descriptor. */ int i, c, lguest_fd; - /* The list of Guest devices, based on command line arguments. */ struct device_list device_list; - /* The boot information for the Guest: at guest-physical address 0. */ void *boot = (void *)0; - /* If they specify an initrd file to load. */ const char *initrd_name = NULL; - /* First we initialize the device list. Since console and network - * device receive input from a file descriptor, we keep an fdset - * (infds) and the maximum fd number (max_infd) with the head of the - * list. We also keep a pointer to the last device, for easy appending - * to the list. */ device_list.max_infd = -1; device_list.dev = NULL; device_list.lastdev = &device_list.dev; FD_ZERO(&device_list.infds); - /* We need to know how much memory so we can set up the device - * descriptor and memory pages for the devices as we parse the command - * line. So we quickly look through the arguments to find the amount - * of memory now. */ + /* We need to know how much memory so we can allocate devices. */ for (i = 1; i < argc; i++) { if (argv[i][0] != '-') { mem = top = atoi(argv[i]) * 1024 * 1024; @@ -1430,8 +933,6 @@ int main(int argc, char *argv[]) break; } } - - /* The options are fairly straight-forward */ while ((c = getopt_long(argc, argv, "v", opts, NULL)) != EOF) { switch (c) { case 'v': @@ -1454,71 +955,42 @@ int main(int argc, char *argv[]) usage(); } } - /* After the other arguments we expect memory and kernel image name, - * followed by command line arguments for the kernel. */ if (optind + 2 > argc) usage(); - /* We always have a console device */ + /* We need a console device */ setup_console(&device_list); - /* We start by mapping anonymous pages over all of guest-physical - * memory range. This fills it with 0, and ensures that the Guest - * won't be killed when it tries to access it. */ + /* First we map /dev/zero over all of guest-physical memory. */ map_zeroed_pages(0, mem / getpagesize()); /* Now we load the kernel */ start = load_kernel(open_or_die(argv[optind+1], O_RDONLY), &page_offset); - /* Map the initrd image if requested (at top of physical memory) */ + /* Map the initrd image if requested */ if (initrd_name) { initrd_size = load_initrd(initrd_name, mem); - /* These are the location in the Linux boot header where the - * start and size of the initrd are expected to be found. */ *(unsigned long *)(boot+0x218) = mem - initrd_size; *(unsigned long *)(boot+0x21c) = initrd_size; - /* The bootloader type 0xFF means "unknown"; that's OK. */ *(unsigned char *)(boot+0x210) = 0xFF; } - /* Set up the initial linear pagetables, starting below the initrd. */ + /* Set up the initial linar pagetables. */ pgdir = setup_pagetables(mem, initrd_size, page_offset); - /* The Linux boot header contains an "E820" memory map: ours is a - * simple, single region. */ + /* E820 memory map: ours is a simple, single region. */ *(char*)(boot+E820NR) = 1; *((struct e820entry *)(boot+E820MAP)) = ((struct e820entry) { 0, mem, E820_RAM }); - /* The boot header contains a command line pointer: we put the command - * line after the boot header (at address 4096) */ + /* Command line pointer and command line (at 4096) */ *(void **)(boot + 0x228) = boot + 4096; concat(boot + 4096, argv+optind+2); - - /* The guest type value of "1" tells the Guest it's under lguest. */ + /* Paravirt type: 1 == lguest */ *(int *)(boot + 0x23c) = 1; - /* We tell the kernel to initialize the Guest: this returns the open - * /dev/lguest file descriptor. */ lguest_fd = tell_kernel(pgdir, start, page_offset); - - /* We fork off a child process, which wakes the Launcher whenever one - * of the input file descriptors needs attention. Otherwise we would - * run the Guest until it tries to output something. */ waker_fd = setup_waker(lguest_fd, &device_list); - /* Finally, run the Guest. This doesn't return. */ run_guest(lguest_fd, &device_list); } -/*:*/ - -/*M:999 - * Mastery is done: you now know everything I do. - * - * But surely you have seen code, features and bugs in your wanderings which - * you now yearn to attack? That is the real game, and I look forward to you - * patching and forking lguest into the Your-Name-Here-visor. - * - * Farewell, and good coding! - * Rusty Russell. - */ diff --git a/trunk/Documentation/memory-hotplug.txt b/trunk/Documentation/memory-hotplug.txt deleted file mode 100644 index 5fbcc22c98e9..000000000000 --- a/trunk/Documentation/memory-hotplug.txt +++ /dev/null @@ -1,322 +0,0 @@ -============== -Memory Hotplug -============== - -Last Updated: Jul 28 2007 - -This document is about memory hotplug including how-to-use and current status. -Because Memory Hotplug is still under development, contents of this text will -be changed often. - -1. Introduction - 1.1 purpose of memory hotplug - 1.2. Phases of memory hotplug - 1.3. Unit of Memory online/offline operation -2. Kernel Configuration -3. sysfs files for memory hotplug -4. Physical memory hot-add phase - 4.1 Hardware(Firmware) Support - 4.2 Notify memory hot-add event by hand -5. Logical Memory hot-add phase - 5.1. State of memory - 5.2. How to online memory -6. Logical memory remove - 6.1 Memory offline and ZONE_MOVABLE - 6.2. How to offline memory -7. Physical memory remove -8. Future Work List - -Note(1): x86_64's has special implementation for memory hotplug. - This text does not describe it. -Note(2): This text assumes that sysfs is mounted at /sys. - - ---------------- -1. Introduction ---------------- - -1.1 purpose of memory hotplug ------------- -Memory Hotplug allows users to increase/decrease the amount of memory. -Generally, there are two purposes. - -(A) For changing the amount of memory. - This is to allow a feature like capacity on demand. -(B) For installing/removing DIMMs or NUMA-nodes physically. - This is to exchange DIMMs/NUMA-nodes, reduce power consumption, etc. - -(A) is required by highly virtualized environments and (B) is required by -hardware which supports memory power management. - -Linux memory hotplug is designed for both purpose. - - -1.2. Phases of memory hotplug ---------------- -There are 2 phases in Memory Hotplug. - 1) Physical Memory Hotplug phase - 2) Logical Memory Hotplug phase. - -The First phase is to communicate hardware/firmware and make/erase -environment for hotplugged memory. Basically, this phase is necessary -for the purpose (B), but this is good phase for communication between -highly virtualized environments too. - -When memory is hotplugged, the kernel recognizes new memory, makes new memory -management tables, and makes sysfs files for new memory's operation. - -If firmware supports notification of connection of new memory to OS, -this phase is triggered automatically. ACPI can notify this event. If not, -"probe" operation by system administration is used instead. -(see Section 4.). - -Logical Memory Hotplug phase is to change memory state into -avaiable/unavailable for users. Amount of memory from user's view is -changed by this phase. The kernel makes all memory in it as free pages -when a memory range is available. - -In this document, this phase is described as online/offline. - -Logical Memory Hotplug phase is triggred by write of sysfs file by system -administrator. For the hot-add case, it must be executed after Physical Hotplug -phase by hand. -(However, if you writes udev's hotplug scripts for memory hotplug, these - phases can be execute in seamless way.) - - -1.3. Unit of Memory online/offline operation ------------- -Memory hotplug uses SPARSEMEM memory model. SPARSEMEM divides the whole memory -into chunks of the same size. The chunk is called a "section". The size of -a section is architecture dependent. For example, power uses 16MiB, ia64 uses -1GiB. The unit of online/offline operation is "one section". (see Section 3.) - -To determine the size of sections, please read this file: - -/sys/devices/system/memory/block_size_bytes - -This file shows the size of sections in byte. - ------------------------ -2. Kernel Configuration ------------------------ -To use memory hotplug feature, kernel must be compiled with following -config options. - -- For all memory hotplug - Memory model -> Sparse Memory (CONFIG_SPARSEMEM) - Allow for memory hot-add (CONFIG_MEMORY_HOTPLUG) - -- To enable memory removal, the followings are also necessary - Allow for memory hot remove (CONFIG_MEMORY_HOTREMOVE) - Page Migration (CONFIG_MIGRATION) - -- For ACPI memory hotplug, the followings are also necessary - Memory hotplug (under ACPI Support menu) (CONFIG_ACPI_HOTPLUG_MEMORY) - This option can be kernel module. - -- As a related configuration, if your box has a feature of NUMA-node hotplug - via ACPI, then this option is necessary too. - ACPI0004,PNP0A05 and PNP0A06 Container Driver (under ACPI Support menu) - (CONFIG_ACPI_CONTAINER). - This option can be kernel module too. - --------------------------------- -3 sysfs files for memory hotplug --------------------------------- -All sections have their device information under /sys/devices/system/memory as - -/sys/devices/system/memory/memoryXXX -(XXX is section id.) - -Now, XXX is defined as start_address_of_section / section_size. - -For example, assume 1GiB section size. A device for a memory starting at -0x100000000 is /sys/device/system/memory/memory4 -(0x100000000 / 1Gib = 4) -This device covers address range [0x100000000 ... 0x140000000) - -Under each section, you can see 3 files. - -/sys/devices/system/memory/memoryXXX/phys_index -/sys/devices/system/memory/memoryXXX/phys_device -/sys/devices/system/memory/memoryXXX/state - -'phys_index' : read-only and contains section id, same as XXX. -'state' : read-write - at read: contains online/offline state of memory. - at write: user can specify "online", "offline" command -'phys_device': read-only: designed to show the name of physical memory device. - This is not well implemented now. - -NOTE: - These directories/files appear after physical memory hotplug phase. - - --------------------------------- -4. Physical memory hot-add phase --------------------------------- - -4.1 Hardware(Firmware) Support ------------- -On x86_64/ia64 platform, memory hotplug by ACPI is supported. - -In general, the firmware (ACPI) which supports memory hotplug defines -memory class object of _HID "PNP0C80". When a notify is asserted to PNP0C80, -Linux's ACPI handler does hot-add memory to the system and calls a hotplug udev -script. This will be done automatically. - -But scripts for memory hotplug are not contained in generic udev package(now). -You may have to write it by yourself or online/offline memory by hand. -Please see "How to online memory", "How to offline memory" in this text. - -If firmware supports NUMA-node hotplug, and defines an object _HID "ACPI0004", -"PNP0A05", or "PNP0A06", notification is asserted to it, and ACPI handler -calls hotplug code for all of objects which are defined in it. -If memory device is found, memory hotplug code will be called. - - -4.2 Notify memory hot-add event by hand ------------- -In some environments, especially virtualized environment, firmware will not -notify memory hotplug event to the kernel. For such environment, "probe" -interface is supported. This interface depends on CONFIG_ARCH_MEMORY_PROBE. - -Now, CONFIG_ARCH_MEMORY_PROBE is supported only by powerpc but it does not -contain highly architecture codes. Please add config if you need "probe" -interface. - -Probe interface is located at -/sys/devices/system/memory/probe - -You can tell the physical address of new memory to the kernel by - -% echo start_address_of_new_memory > /sys/devices/system/memory/probe - -Then, [start_address_of_new_memory, start_address_of_new_memory + section_size) -memory range is hot-added. In this case, hotplug script is not called (in -current implementation). You'll have to online memory by yourself. -Please see "How to online memory" in this text. - - - ------------------------------- -5. Logical Memory hot-add phase ------------------------------- - -5.1. State of memory ------------- -To see (online/offline) state of memory section, read 'state' file. - -% cat /sys/device/system/memory/memoryXXX/state - - -If the memory section is online, you'll read "online". -If the memory section is offline, you'll read "offline". - - -5.2. How to online memory ------------- -Even if the memory is hot-added, it is not at ready-to-use state. -For using newly added memory, you have to "online" the memory section. - -For onlining, you have to write "online" to the section's state file as: - -% echo online > /sys/devices/system/memory/memoryXXX/state - -After this, section memoryXXX's state will be 'online' and the amount of -available memory will be increased. - -Currently, newly added memory is added as ZONE_NORMAL (for powerpc, ZONE_DMA). -This may be changed in future. - - - ------------------------- -6. Logical memory remove ------------------------- - -6.1 Memory offline and ZONE_MOVABLE ------------- -Memory offlining is more complicated than memory online. Because memory offline -has to make the whole memory section be unused, memory offline can fail if -the section includes memory which cannot be freed. - -In general, memory offline can use 2 techniques. - -(1) reclaim and free all memory in the section. -(2) migrate all pages in the section. - -In the current implementation, Linux's memory offline uses method (2), freeing -all pages in the section by page migration. But not all pages are -migratable. Under current Linux, migratable pages are anonymous pages and -page caches. For offlining a section by migration, the kernel has to guarantee -that the section contains only migratable pages. - -Now, a boot option for making a section which consists of migratable pages is -supported. By specifying "kernelcore=" or "movablecore=" boot option, you can -create ZONE_MOVABLE...a zone which is just used for movable pages. -(See also Documentation/kernel-parameters.txt) - -Assume the system has "TOTAL" amount of memory at boot time, this boot option -creates ZONE_MOVABLE as following. - -1) When kernelcore=YYYY boot option is used, - Size of memory not for movable pages (not for offline) is YYYY. - Size of memory for movable pages (for offline) is TOTAL-YYYY. - -2) When movablecore=ZZZZ boot option is used, - Size of memory not for movable pages (not for offline) is TOTAL - ZZZZ. - Size of memory for movable pages (for offline) is ZZZZ. - - -Note) Unfortunately, there is no information to show which section belongs -to ZONE_MOVABLE. This is TBD. - - -6.2. How to offline memory ------------- -You can offline a section by using the same sysfs interface that was used in -memory onlining. - -% echo offline > /sys/devices/system/memory/memoryXXX/state - -If offline succeeds, the state of the memory section is changed to be "offline". -If it fails, some error core (like -EBUSY) will be returned by the kernel. -Even if a section does not belong to ZONE_MOVABLE, you can try to offline it. -If it doesn't contain 'unmovable' memory, you'll get success. - -A section under ZONE_MOVABLE is considered to be able to be offlined easily. -But under some busy state, it may return -EBUSY. Even if a memory section -cannot be offlined due to -EBUSY, you can retry offlining it and may be able to -offline it (or not). -(For example, a page is referred to by some kernel internal call and released - soon.) - -Consideration: -Memory hotplug's design direction is to make the possibility of memory offlining -higher and to guarantee unplugging memory under any situation. But it needs -more work. Returning -EBUSY under some situation may be good because the user -can decide to retry more or not by himself. Currently, memory offlining code -does some amount of retry with 120 seconds timeout. - -------------------------- -7. Physical memory remove -------------------------- -Need more implementation yet.... - - Notification completion of remove works by OS to firmware. - - Guard from remove if not yet. - --------------- -8. Future Work --------------- - - allowing memory hot-add to ZONE_MOVABLE. maybe we need some switch like - sysctl or new control file. - - showing memory section and physical device relationship. - - showing memory section and node relationship (maybe good for NUMA) - - showing memory section is under ZONE_MOVABLE or not - - test and make it better memory offlining. - - support HugeTLB page migration and offlining. - - memmap removing at memory offline. - - physical remove memory. - diff --git a/trunk/Documentation/sched-design-CFS.txt b/trunk/Documentation/sched-design-CFS.txt index 84901e7c0508..16feebb7bdc0 100644 --- a/trunk/Documentation/sched-design-CFS.txt +++ b/trunk/Documentation/sched-design-CFS.txt @@ -83,7 +83,7 @@ Some implementation details: CFS uses nanosecond granularity accounting and does not rely on any jiffies or other HZ detail. Thus the CFS scheduler has no notion of 'timeslices' and has no heuristics whatsoever. There is only one - central tunable (you have to switch on CONFIG_SCHED_DEBUG): + central tunable: /proc/sys/kernel/sched_granularity_ns diff --git a/trunk/Documentation/sched-nice-design.txt b/trunk/Documentation/sched-nice-design.txt deleted file mode 100644 index e2bae5a577e3..000000000000 --- a/trunk/Documentation/sched-nice-design.txt +++ /dev/null @@ -1,108 +0,0 @@ -This document explains the thinking about the revamped and streamlined -nice-levels implementation in the new Linux scheduler. - -Nice levels were always pretty weak under Linux and people continuously -pestered us to make nice +19 tasks use up much less CPU time. - -Unfortunately that was not that easy to implement under the old -scheduler, (otherwise we'd have done it long ago) because nice level -support was historically coupled to timeslice length, and timeslice -units were driven by the HZ tick, so the smallest timeslice was 1/HZ. - -In the O(1) scheduler (in 2003) we changed negative nice levels to be -much stronger than they were before in 2.4 (and people were happy about -that change), and we also intentionally calibrated the linear timeslice -rule so that nice +19 level would be _exactly_ 1 jiffy. To better -understand it, the timeslice graph went like this (cheesy ASCII art -alert!): - - - A - \ | [timeslice length] - \ | - \ | - \ | - \ | - \|___100msecs - |^ . _ - | ^ . _ - | ^ . _ - -*----------------------------------*-----> [nice level] - -20 | +19 - | - | - -So that if someone wanted to really renice tasks, +19 would give a much -bigger hit than the normal linear rule would do. (The solution of -changing the ABI to extend priorities was discarded early on.) - -This approach worked to some degree for some time, but later on with -HZ=1000 it caused 1 jiffy to be 1 msec, which meant 0.1% CPU usage which -we felt to be a bit excessive. Excessive _not_ because it's too small of -a CPU utilization, but because it causes too frequent (once per -millisec) rescheduling. (and would thus trash the cache, etc. Remember, -this was long ago when hardware was weaker and caches were smaller, and -people were running number crunching apps at nice +19.) - -So for HZ=1000 we changed nice +19 to 5msecs, because that felt like the -right minimal granularity - and this translates to 5% CPU utilization. -But the fundamental HZ-sensitive property for nice+19 still remained, -and we never got a single complaint about nice +19 being too _weak_ in -terms of CPU utilization, we only got complaints about it (still) being -too _strong_ :-) - -To sum it up: we always wanted to make nice levels more consistent, but -within the constraints of HZ and jiffies and their nasty design level -coupling to timeslices and granularity it was not really viable. - -The second (less frequent but still periodically occuring) complaint -about Linux's nice level support was its assymetry around the origo -(which you can see demonstrated in the picture above), or more -accurately: the fact that nice level behavior depended on the _absolute_ -nice level as well, while the nice API itself is fundamentally -"relative": - - int nice(int inc); - - asmlinkage long sys_nice(int increment) - -(the first one is the glibc API, the second one is the syscall API.) -Note that the 'inc' is relative to the current nice level. Tools like -bash's "nice" command mirror this relative API. - -With the old scheduler, if you for example started a niced task with +1 -and another task with +2, the CPU split between the two tasks would -depend on the nice level of the parent shell - if it was at nice -10 the -CPU split was different than if it was at +5 or +10. - -A third complaint against Linux's nice level support was that negative -nice levels were not 'punchy enough', so lots of people had to resort to -run audio (and other multimedia) apps under RT priorities such as -SCHED_FIFO. But this caused other problems: SCHED_FIFO is not starvation -proof, and a buggy SCHED_FIFO app can also lock up the system for good. - -The new scheduler in v2.6.23 addresses all three types of complaints: - -To address the first complaint (of nice levels being not "punchy" -enough), the scheduler was decoupled from 'time slice' and HZ concepts -(and granularity was made a separate concept from nice levels) and thus -it was possible to implement better and more consistent nice +19 -support: with the new scheduler nice +19 tasks get a HZ-independent -1.5%, instead of the variable 3%-5%-9% range they got in the old -scheduler. - -To address the second complaint (of nice levels not being consistent), -the new scheduler makes nice(1) have the same CPU utilization effect on -tasks, regardless of their absolute nice levels. So on the new -scheduler, running a nice +10 and a nice 11 task has the same CPU -utilization "split" between them as running a nice -5 and a nice -4 -task. (one will get 55% of the CPU, the other 45%.) That is why nice -levels were changed to be "multiplicative" (or exponential) - that way -it does not matter which nice level you start out from, the 'relative -result' will always be the same. - -The third complaint (of negative nice levels not being "punchy" enough -and forcing audio apps to run under the more dangerous SCHED_FIFO -scheduling policy) is addressed by the new scheduler almost -automatically: stronger negative nice levels are an automatic -side-effect of the recalibrated dynamic range of nice levels. diff --git a/trunk/Documentation/sched-stats.txt b/trunk/Documentation/sched-stats.txt index 442e14d35dea..6f72021aae51 100644 --- a/trunk/Documentation/sched-stats.txt +++ b/trunk/Documentation/sched-stats.txt @@ -1,11 +1,10 @@ -Version 14 of schedstats includes support for sched_domains, which hit the -mainline kernel in 2.6.20 although it is identical to the stats from version -12 which was in the kernel from 2.6.13-2.6.19 (version 13 never saw a kernel -release). Some counters make more sense to be per-runqueue; other to be -per-domain. Note that domains (and their associated information) will only -be pertinent and available on machines utilizing CONFIG_SMP. - -In version 14 of schedstat, there is at least one level of domain +Version 10 of schedstats includes support for sched_domains, which +hit the mainline kernel in 2.6.7. Some counters make more sense to be +per-runqueue; other to be per-domain. Note that domains (and their associated +information) will only be pertinent and available on machines utilizing +CONFIG_SMP. + +In version 10 of schedstat, there is at least one level of domain statistics for each cpu listed, and there may well be more than one domain. Domains have no particular names in this implementation, but the highest numbered one typically arbitrates balancing across all the @@ -28,7 +27,7 @@ to write their own scripts, the fields are described here. CPU statistics -------------- -cpu 1 2 3 4 5 6 7 8 9 10 11 12 +cpu 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 NOTE: In the sched_yield() statistics, the active queue is considered empty if it has only one process in it, since obviously the process calling @@ -40,20 +39,48 @@ First four fields are sched_yield() statistics: 3) # of times just the expired queue was empty 4) # of times sched_yield() was called -Next three are schedule() statistics: - 5) # of times we switched to the expired queue and reused it - 6) # of times schedule() was called - 7) # of times schedule() left the processor idle +Next four are schedule() statistics: + 5) # of times the active queue had at least one other process on it + 6) # of times we switched to the expired queue and reused it + 7) # of times schedule() was called + 8) # of times schedule() left the processor idle -Next two are try_to_wake_up() statistics: - 8) # of times try_to_wake_up() was called - 9) # of times try_to_wake_up() was called to wake up the local cpu +Next four are active_load_balance() statistics: + 9) # of times active_load_balance() was called + 10) # of times active_load_balance() caused this cpu to gain a task + 11) # of times active_load_balance() caused this cpu to lose a task + 12) # of times active_load_balance() tried to move a task and failed + +Next three are try_to_wake_up() statistics: + 13) # of times try_to_wake_up() was called + 14) # of times try_to_wake_up() successfully moved the awakening task + 15) # of times try_to_wake_up() attempted to move the awakening task + +Next two are wake_up_new_task() statistics: + 16) # of times wake_up_new_task() was called + 17) # of times wake_up_new_task() successfully moved the new task + +Next one is a sched_migrate_task() statistic: + 18) # of times sched_migrate_task() was called + +Next one is a sched_balance_exec() statistic: + 19) # of times sched_balance_exec() was called Next three are statistics describing scheduling latency: - 10) sum of all time spent running by tasks on this processor (in jiffies) - 11) sum of all time spent waiting to run by tasks on this processor (in - jiffies) - 12) # of timeslices run on this cpu + 20) sum of all time spent running by tasks on this processor (in ms) + 21) sum of all time spent waiting to run by tasks on this processor (in ms) + 22) # of tasks (not necessarily unique) given to the processor + +The last six are statistics dealing with pull_task(): + 23) # of times pull_task() moved a task to this cpu when newly idle + 24) # of times pull_task() stole a task from this cpu when another cpu + was newly idle + 25) # of times pull_task() moved a task to this cpu when idle + 26) # of times pull_task() stole a task from this cpu when another cpu + was idle + 27) # of times pull_task() moved a task to this cpu when busy + 28) # of times pull_task() stole a task from this cpu when another cpu + was busy Domain statistics @@ -62,95 +89,65 @@ One of these is produced per domain for each cpu described. (Note that if CONFIG_SMP is not defined, *no* domains are utilized and these lines will not appear in the output.) -domain 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 +domain 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 The first field is a bit mask indicating what cpus this domain operates over. -The next 24 are a variety of load_balance() statistics in grouped into types -of idleness (idle, busy, and newly idle): - - 1) # of times in this domain load_balance() was called when the - cpu was idle - 2) # of times in this domain load_balance() checked but found - the load did not require balancing when the cpu was idle - 3) # of times in this domain load_balance() tried to move one or - more tasks and failed, when the cpu was idle - 4) sum of imbalances discovered (if any) with each call to - load_balance() in this domain when the cpu was idle - 5) # of times in this domain pull_task() was called when the cpu - was idle - 6) # of times in this domain pull_task() was called even though - the target task was cache-hot when idle - 7) # of times in this domain load_balance() was called but did - not find a busier queue while the cpu was idle - 8) # of times in this domain a busier queue was found while the - cpu was idle but no busier group was found - - 9) # of times in this domain load_balance() was called when the - cpu was busy - 10) # of times in this domain load_balance() checked but found the - load did not require balancing when busy - 11) # of times in this domain load_balance() tried to move one or - more tasks and failed, when the cpu was busy - 12) sum of imbalances discovered (if any) with each call to - load_balance() in this domain when the cpu was busy - 13) # of times in this domain pull_task() was called when busy - 14) # of times in this domain pull_task() was called even though the - target task was cache-hot when busy - 15) # of times in this domain load_balance() was called but did not - find a busier queue while the cpu was busy - 16) # of times in this domain a busier queue was found while the cpu - was busy but no busier group was found - - 17) # of times in this domain load_balance() was called when the - cpu was just becoming idle - 18) # of times in this domain load_balance() checked but found the - load did not require balancing when the cpu was just becoming idle - 19) # of times in this domain load_balance() tried to move one or more - tasks and failed, when the cpu was just becoming idle - 20) sum of imbalances discovered (if any) with each call to - load_balance() in this domain when the cpu was just becoming idle - 21) # of times in this domain pull_task() was called when newly idle - 22) # of times in this domain pull_task() was called even though the - target task was cache-hot when just becoming idle - 23) # of times in this domain load_balance() was called but did not - find a busier queue while the cpu was just becoming idle - 24) # of times in this domain a busier queue was found while the cpu - was just becoming idle but no busier group was found - - Next three are active_load_balance() statistics: - 25) # of times active_load_balance() was called - 26) # of times active_load_balance() tried to move a task and failed - 27) # of times active_load_balance() successfully moved a task - - Next three are sched_balance_exec() statistics: - 28) sbe_cnt is not used - 29) sbe_balanced is not used - 30) sbe_pushed is not used - - Next three are sched_balance_fork() statistics: - 31) sbf_cnt is not used - 32) sbf_balanced is not used - 33) sbf_pushed is not used - - Next three are try_to_wake_up() statistics: - 34) # of times in this domain try_to_wake_up() awoke a task that - last ran on a different cpu in this domain - 35) # of times in this domain try_to_wake_up() moved a task to the - waking cpu because it was cache-cold on its own cpu anyway - 36) # of times in this domain try_to_wake_up() started passive balancing +The next fifteen are a variety of load_balance() statistics: + + 1) # of times in this domain load_balance() was called when the cpu + was idle + 2) # of times in this domain load_balance() was called when the cpu + was busy + 3) # of times in this domain load_balance() was called when the cpu + was just becoming idle + 4) # of times in this domain load_balance() tried to move one or more + tasks and failed, when the cpu was idle + 5) # of times in this domain load_balance() tried to move one or more + tasks and failed, when the cpu was busy + 6) # of times in this domain load_balance() tried to move one or more + tasks and failed, when the cpu was just becoming idle + 7) sum of imbalances discovered (if any) with each call to + load_balance() in this domain when the cpu was idle + 8) sum of imbalances discovered (if any) with each call to + load_balance() in this domain when the cpu was busy + 9) sum of imbalances discovered (if any) with each call to + load_balance() in this domain when the cpu was just becoming idle + 10) # of times in this domain load_balance() was called but did not find + a busier queue while the cpu was idle + 11) # of times in this domain load_balance() was called but did not find + a busier queue while the cpu was busy + 12) # of times in this domain load_balance() was called but did not find + a busier queue while the cpu was just becoming idle + 13) # of times in this domain a busier queue was found while the cpu was + idle but no busier group was found + 14) # of times in this domain a busier queue was found while the cpu was + busy but no busier group was found + 15) # of times in this domain a busier queue was found while the cpu was + just becoming idle but no busier group was found + +Next two are sched_balance_exec() statistics: + 17) # of times in this domain sched_balance_exec() successfully pushed + a task to a new cpu + 18) # of times in this domain sched_balance_exec() tried but failed to + push a task to a new cpu + +Next two are try_to_wake_up() statistics: + 19) # of times in this domain try_to_wake_up() tried to move a task based + on affinity and cache warmth + 20) # of times in this domain try_to_wake_up() tried to move a task based + on load balancing + /proc//schedstat ---------------- schedstats also adds a new /proc/ - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License. - * - * Cross-compile with cross-gcc -I/path/to/cross-kernel/include - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0])) - -static void pabort(const char *s) -{ - perror(s); - abort(); -} - -static char *device = "/dev/spidev1.1"; -static uint8_t mode; -static uint8_t bits = 8; -static uint32_t speed = 500000; -static uint16_t delay; - -static void transfer(int fd) -{ - int ret; - uint8_t tx[] = { - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0x40, 0x00, 0x00, 0x00, 0x00, 0x95, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xDE, 0xAD, 0xBE, 0xEF, 0xBA, 0xAD, - 0xF0, 0x0D, - }; - uint8_t rx[ARRAY_SIZE(tx)] = {0, }; - struct spi_ioc_transfer tr = { - .tx_buf = (unsigned long)tx, - .rx_buf = (unsigned long)rx, - .len = ARRAY_SIZE(tx), - .delay_usecs = delay, - .speed_hz = speed, - .bits_per_word = bits, - }; - - ret = ioctl(fd, SPI_IOC_MESSAGE(1), &tr); - if (ret == 1) - pabort("can't send spi message"); - - for (ret = 0; ret < ARRAY_SIZE(tx); ret++) { - if (!(ret % 6)) - puts(""); - printf("%.2X ", rx[ret]); - } - puts(""); -} - -void print_usage(char *prog) -{ - printf("Usage: %s [-DsbdlHOLC3]\n", prog); - puts(" -D --device device to use (default /dev/spidev1.1)\n" - " -s --speed max speed (Hz)\n" - " -d --delay delay (usec)\n" - " -b --bpw bits per word \n" - " -l --loop loopback\n" - " -H --cpha clock phase\n" - " -O --cpol clock polarity\n" - " -L --lsb least significant bit first\n" - " -C --cs-high chip select active high\n" - " -3 --3wire SI/SO signals shared\n"); - exit(1); -} - -void parse_opts(int argc, char *argv[]) -{ - while (1) { - static struct option lopts[] = { - { "device", 1, 0, 'D' }, - { "speed", 1, 0, 's' }, - { "delay", 1, 0, 'd' }, - { "bpw", 1, 0, 'b' }, - { "loop", 0, 0, 'l' }, - { "cpha", 0, 0, 'H' }, - { "cpol", 0, 0, 'O' }, - { "lsb", 0, 0, 'L' }, - { "cs-high", 0, 0, 'C' }, - { "3wire", 0, 0, '3' }, - { NULL, 0, 0, 0 }, - }; - int c; - - c = getopt_long(argc, argv, "D:s:d:b:lHOLC3", lopts, NULL); - - if (c == -1) - break; - - switch (c) { - case 'D': - device = optarg; - break; - case 's': - speed = atoi(optarg); - break; - case 'd': - delay = atoi(optarg); - break; - case 'b': - bits = atoi(optarg); - break; - case 'l': - mode |= SPI_LOOP; - break; - case 'H': - mode |= SPI_CPHA; - break; - case 'O': - mode |= SPI_CPOL; - break; - case 'L': - mode |= SPI_LSB_FIRST; - break; - case 'C': - mode |= SPI_CS_HIGH; - break; - case '3': - mode |= SPI_3WIRE; - break; - default: - print_usage(argv[0]); - break; - } - } -} - -int main(int argc, char *argv[]) -{ - int ret = 0; - int fd; - - parse_opts(argc, argv); - - fd = open(device, O_RDWR); - if (fd < 0) - pabort("can't open device"); - - /* - * spi mode - */ - ret = ioctl(fd, SPI_IOC_WR_MODE, &mode); - if (ret == -1) - pabort("can't set spi mode"); - - ret = ioctl(fd, SPI_IOC_RD_MODE, &mode); - if (ret == -1) - pabort("can't get spi mode"); - - /* - * bits per word - */ - ret = ioctl(fd, SPI_IOC_WR_BITS_PER_WORD, &bits); - if (ret == -1) - pabort("can't set bits per word"); - - ret = ioctl(fd, SPI_IOC_RD_BITS_PER_WORD, &bits); - if (ret == -1) - pabort("can't get bits per word"); - - /* - * max speed hz - */ - ret = ioctl(fd, SPI_IOC_WR_MAX_SPEED_HZ, &speed); - if (ret == -1) - pabort("can't set max speed hz"); - - ret = ioctl(fd, SPI_IOC_RD_MAX_SPEED_HZ, &speed); - if (ret == -1) - pabort("can't get max speed hz"); - - printf("spi mode: %d\n", mode); - printf("bits per word: %d\n", bits); - printf("max speed: %d Hz (%d KHz)\n", speed, speed/1000); - - transfer(fd); - - close(fd); - - return ret; -} diff --git a/trunk/Documentation/stable_api_nonsense.txt b/trunk/Documentation/stable_api_nonsense.txt index 847b342b7b20..a2afca3b2bab 100644 --- a/trunk/Documentation/stable_api_nonsense.txt +++ b/trunk/Documentation/stable_api_nonsense.txt @@ -10,7 +10,7 @@ kernel to userspace interfaces. The kernel to userspace interface is the one that application programs use, the syscall interface. That interface is _very_ stable over time, and will not break. I have old programs that were built on a pre 0.9something kernel that still work -just fine on the latest 2.6 kernel release. That interface is the one +just fine on the latest 2.6 kernel release. This interface is the one that users and application programmers can count on being stable. diff --git a/trunk/Documentation/sysfs-rules.txt b/trunk/Documentation/sysfs-rules.txt index 80ef562160bb..42861bb0bc9b 100644 --- a/trunk/Documentation/sysfs-rules.txt +++ b/trunk/Documentation/sysfs-rules.txt @@ -1,18 +1,19 @@ Rules on how to access information in the Linux kernel sysfs -The kernel-exported sysfs exports internal kernel implementation details +The kernel exported sysfs exports internal kernel implementation-details and depends on internal kernel structures and layout. It is agreed upon by the kernel developers that the Linux kernel does not provide a stable internal API. As sysfs is a direct export of kernel internal -structures, the sysfs interface cannot provide a stable interface either; +structures, the sysfs interface can not provide a stable interface eighter, it may always change along with internal kernel changes. To minimize the risk of breaking users of sysfs, which are in most cases low-level userspace applications, with a new kernel release, the users -of sysfs must follow some rules to use an as-abstract-as-possible way to +of sysfs must follow some rules to use an as abstract-as-possible way to access this filesystem. The current udev and HAL programs already implement this and users are encouraged to plug, if possible, into the -abstractions these programs provide instead of accessing sysfs directly. +abstractions these programs provide instead of accessing sysfs +directly. But if you really do want or need to access sysfs directly, please follow the following rules and then your programs should work with future @@ -24,22 +25,22 @@ versions of the sysfs interface. implementation details in its own API. Therefore it is not better than reading directories and opening the files yourself. Also, it is not actively maintained, in the sense of reflecting the - current kernel development. The goal of providing a stable interface - to sysfs has failed; it causes more problems than it solves. It + current kernel-development. The goal of providing a stable interface + to sysfs has failed, it causes more problems, than it solves. It violates many of the rules in this document. - sysfs is always at /sys Parsing /proc/mounts is a waste of time. Other mount points are a system configuration bug you should not try to solve. For test cases, possibly support a SYSFS_PATH environment variable to overwrite the - application's behavior, but never try to search for sysfs. Never try + applications behavior, but never try to search for sysfs. Never try to mount it, if you are not an early boot script. - devices are only "devices" There is no such thing like class-, bus-, physical devices, interfaces, and such that you can rely on in userspace. Everything is just simply a "device". Class-, bus-, physical, ... types are just - kernel implementation details which should not be expected by + kernel implementation details, which should not be expected by applications that look for devices in sysfs. The properties of a device are: @@ -47,11 +48,11 @@ versions of the sysfs interface. - identical to the DEVPATH value in the event sent from the kernel at device creation and removal - the unique key to the device at that point in time - - the kernel's path to the device directory without the leading + - the kernels path to the device-directory without the leading /sys, and always starting with with a slash - all elements of a devpath must be real directories. Symlinks pointing to /sys/devices must always be resolved to their real - target and the target path must be used to access the device. + target, and the target path must be used to access the device. That way the devpath to the device matches the devpath of the kernel used at event time. - using or exposing symlink values as elements in a devpath string @@ -72,17 +73,17 @@ versions of the sysfs interface. link - it is retrieved by reading the "driver"-link and using only the last element of the target path - - devices which do not have "driver"-link just do not have a - driver; copying the driver value in a child device context is a + - devices which do not have "driver"-link, just do not have a + driver; copying the driver value in a child device context, is a bug in the application o attributes - - the files in the device directory or files below subdirectories + - the files in the device directory or files below a subdirectories of the same device directory - accessing attributes reached by a symlink pointing to another device, like the "device"-link, is a bug in the application - Everything else is just a kernel driver-core implementation detail + Everything else is just a kernel driver-core implementation detail, that should not be assumed to be stable across kernel releases. - Properties of parent devices never belong into a child device. @@ -90,25 +91,25 @@ versions of the sysfs interface. context properties. If the device 'eth0' or 'sda' does not have a "driver"-link, then this device does not have a driver. Its value is empty. Never copy any property of the parent-device into a child-device. Parent - device properties may change dynamically without any notice to the + device-properties may change dynamically without any notice to the child device. -- Hierarchy in a single device tree +- Hierarchy in a single device-tree There is only one valid place in sysfs where hierarchy can be examined and this is below: /sys/devices. - It is planned that all device directories will end up in the tree + It is planned, that all device directories will end up in the tree below this directory. - Classification by subsystem There are currently three places for classification of devices: /sys/block, /sys/class and /sys/bus. It is planned that these will - not contain any device directories themselves, but only flat lists of + not contain any device-directories themselves, but only flat lists of symlinks pointing to the unified /sys/devices tree. All three places have completely different rules on how to access device information. It is planned to merge all three - classification directories into one place at /sys/subsystem, - following the layout of the bus directories. All buses and - classes, including the converted block subsystem, will show up + classification-directories into one place at /sys/subsystem, + following the layout of the bus-directories. All buses and + classes, including the converted block-subsystem, will show up there. The devices belonging to a subsystem will create a symlink in the "devices" directory at /sys/subsystem//devices. @@ -120,38 +121,38 @@ versions of the sysfs interface. subsystem name. Assuming /sys/class/ and /sys/bus/, or - /sys/block and /sys/class/block are not interchangeable is a bug in + /sys/block and /sys/class/block are not interchangeable, is a bug in the application. - Block - The converted block subsystem at /sys/class/block or + The converted block-subsystem at /sys/class/block, or /sys/subsystem/block will contain the links for disks and partitions - at the same level, never in a hierarchy. Assuming the block subsytem to - contain only disks and not partition devices in the same flat list is + at the same level, never in a hierarchy. Assuming the block-subsytem to + contain only disks and not partition-devices in the same flat list is a bug in the application. - "device"-link and :-links Never depend on the "device"-link. The "device"-link is a workaround - for the old layout, where class devices are not created in - /sys/devices/ like the bus devices. If the link-resolving of a - device directory does not end in /sys/devices/, you can use the + for the old layout, where class-devices are not created in + /sys/devices/ like the bus-devices. If the link-resolving of a + device-directory does not end in /sys/devices/, you can use the "device"-link to find the parent devices in /sys/devices/. That is the - single valid use of the "device"-link; it must never appear in any + single valid use of the "device"-link, it must never appear in any path as an element. Assuming the existence of the "device"-link for a device in /sys/devices/ is a bug in the application. Accessing /sys/class/net/eth0/device is a bug in the application. Never depend on the class-specific links back to the /sys/class directory. These links are also a workaround for the design mistake - that class devices are not created in /sys/devices. If a device + that class-devices are not created in /sys/devices. If a device directory does not contain directories for child devices, these links may be used to find the child devices in /sys/class. That is the single - valid use of these links; they must never appear in any path as an + valid use of these links, they must never appear in any path as an element. Assuming the existence of these links for devices which are - real child device directories in the /sys/devices tree is a bug in + real child device directories in the /sys/devices tree, is a bug in the application. - It is planned to remove all these links when all class device + It is planned to remove all these links when when all class-device directories live in /sys/devices. - Position of devices along device chain can change. @@ -160,5 +161,6 @@ versions of the sysfs interface. the chain. You must always request the parent device you are looking for by its subsystem value. You need to walk up the chain until you find the device that matches the expected subsystem. Depending on a specific - position of a parent device or exposing relative paths using "../" to - access the chain of parents is a bug in the application. + position of a parent device, or exposing relative paths, using "../" to + access the chain of parents, is a bug in the application. + diff --git a/trunk/Documentation/sysrq.txt b/trunk/Documentation/sysrq.txt index ef19142896ca..ba328f255417 100644 --- a/trunk/Documentation/sysrq.txt +++ b/trunk/Documentation/sysrq.txt @@ -1,6 +1,6 @@ Linux Magic System Request Key Hacks Documentation for sysrq.c -Last update: 2007-AUG-04 +Last update: 2007-MAR-14 * What is the magic SysRq key? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -78,7 +78,7 @@ On all - write a character to /proc/sysrq-trigger. e.g.: 'g' - Used by kgdb on ppc and sh platforms. 'h' - Will display help (actually any other key than those listed - here will display help. but 'h' is easy to remember :-) + above will display help. but 'h' is easy to remember :-) 'i' - Send a SIGKILL to all processes, except for init. diff --git a/trunk/Documentation/thinkpad-acpi.txt b/trunk/Documentation/thinkpad-acpi.txt index eb2f5986e1eb..6711fbcf4080 100644 --- a/trunk/Documentation/thinkpad-acpi.txt +++ b/trunk/Documentation/thinkpad-acpi.txt @@ -105,10 +105,10 @@ The version of thinkpad-acpi's sysfs interface is exported by the driver as a driver attribute (see below). Sysfs driver attributes are on the driver's sysfs attribute space, -for 2.6.20 this is /sys/bus/platform/drivers/thinkpad_acpi/. +for 2.6.20 this is /sys/bus/platform/drivers/thinkpad-acpi/. Sysfs device attributes are on the driver's sysfs attribute space, -for 2.6.20 this is /sys/devices/platform/thinkpad_acpi/. +for 2.6.20 this is /sys/devices/platform/thinkpad-acpi/. Driver version -------------- diff --git a/trunk/Documentation/vm/slabinfo.c b/trunk/Documentation/vm/slabinfo.c index 1af7bd5a2183..d4f21ffd1404 100644 --- a/trunk/Documentation/vm/slabinfo.c +++ b/trunk/Documentation/vm/slabinfo.c @@ -396,7 +396,7 @@ void report(struct slabinfo *s) if (strcmp(s->name, "*") == 0) return; - printf("\nSlabcache: %-20s Aliases: %2d Order : %2d Objects: %lu\n", + printf("\nSlabcache: %-20s Aliases: %2d Order : %2d Objects: %d\n", s->name, s->aliases, s->order, s->objects); if (s->hwcache_align) printf("** Hardware cacheline aligned\n"); diff --git a/trunk/MAINTAINERS b/trunk/MAINTAINERS index e4dde7f1f8d2..01f222e51871 100644 --- a/trunk/MAINTAINERS +++ b/trunk/MAINTAINERS @@ -97,12 +97,6 @@ M: philb@gnu.org L: netdev@vger.kernel.org S: Maintained -3C59X NETWORK DRIVER -P: Steffen Klassert -M: klassert@mathematik.tu-chemnitz.de -L: netdev@vger.kernel.org -S: Maintained - 3CR990 NETWORK DRIVER P: David Dillow M: dave@thedillows.org @@ -393,6 +387,21 @@ P: Jaya Kumar M: jayalk@intworks.biz S: Maintained +ARM26 ARCHITECTURE +P: Ian Molton +M: spyro@f2s.com +S: Maintained + +ARM26/ARCHIMEDES +P: Ian Molton +M: spyro@f2s.com +S: Maintained + +ARM26/A5000 +P: John Appleby +M: john@dnsworld.co.uk +S: Maintained + ARM MFM AND FLOPPY DRIVERS P: Ian Molton M: spyro@f2s.com @@ -618,15 +627,6 @@ W: http://sourceforge.net/projects/acpi4asus W: http://xf.iksaif.net/acpi4asus S: Maintained -ASYNCHRONOUS TRANSFERS/TRANSFORMS API -P: Dan Williams -M: dan.j.williams@intel.com -P: Shannon Nelson -M: shannon.nelson@intel.com -L: linux-kernel@vger.kernel.org -W: http://sourceforge.net/projects/xscaleiop -S: Supported - ATA OVER ETHERNET DRIVER P: Ed L. Cashin M: ecashin@coraid.com @@ -679,7 +679,7 @@ S: Maintained AUDIT SUBSYSTEM P: David Woodhouse M: dwmw2@infradead.org -L: linux-audit@redhat.com (subscribers-only) +L: linux-audit@redhat.com W: http://people.redhat.com/sgrubb/audit/ T: git kernel.org:/pub/scm/linux/kernel/git/dwmw2/audit-2.6.git S: Maintained @@ -771,14 +771,6 @@ L: uclinux-dist-devel@blackfin.uclinux.org (subscribers-only) W: http://blackfin.uclinux.org S: Supported -BLACKFIN WATCHDOG DRIVER -P: Mike Frysinger -M: michael.frysinger@analog.com -M: vapier.adi@gmail.com -L: uclinux-dist-devel@blackfin.uclinux.org (subscribers-only) -W: http://blackfin.uclinux.org -S: Supported - BAYCOM/HDLCDRV DRIVERS FOR AX.25 P: Thomas Sailer M: t.sailer@alumni.ethz.ch @@ -1292,13 +1284,11 @@ M: tori@unhappy.mine.nu L: netdev@vger.kernel.org S: Maintained -DMA GENERIC OFFLOAD ENGINE SUBSYSTEM +DMA GENERIC MEMCPY SUBSYSTEM P: Shannon Nelson M: shannon.nelson@intel.com -P: Dan Williams -M: dan.j.williams@intel.com L: linux-kernel@vger.kernel.org -S: Supported +S: Maintained DME1737 HARDWARE MONITOR DRIVER P: Juerg Haefliger @@ -1975,12 +1965,6 @@ M: shannon.nelson@intel.com L: linux-kernel@vger.kernel.org S: Supported -INTEL IOP-ADMA DMA DRIVER -P: Dan Williams -M: dan.j.williams@intel.com -L: linux-kernel@vger.kernel.org -S: Supported - INTEL IXP4XX RANDOM NUMBER GENERATOR SUPPORT P: Deepak Saxena M: dsaxena@plexity.net @@ -2187,8 +2171,6 @@ W: http://www.kerneljanitors.org/ S: Maintained KERNEL NFSD -P: J. Bruce Fields -M: bfields@fieldses.org P: Neil Brown M: neilb@suse.de L: nfs@lists.sourceforge.net @@ -3357,14 +3339,6 @@ M: thomas@winischhofer.net W: http://www.winischhofer.at/linuxsisusbvga.shtml S: Maintained -SLAB ALLOCATOR -P: Christoph Lameter -M: clameter@sgi.com -P: Pekka Enberg -M: penberg@cs.helsinki.fi -L: linux-mm@kvack.org -S: Maintained - SMC91x ETHERNET DRIVER P: Nicolas Pitre M: nico@cam.org @@ -3692,9 +3666,11 @@ W: http://www.auk.cx/tms380tr/ S: Maintained TULIP NETWORK DRIVER +P: Valerie Henson +M: val@nmt.edu L: tulip-users@lists.sourceforge.net W: http://sourceforge.net/projects/tulip/ -S: Orphan +S: Maintained TUN/TAP driver P: Maxim Krasnyansky @@ -3777,7 +3753,7 @@ L: linux-usb-devel@lists.sourceforge.net W: http://www.linux-usb.org/gadget S: Maintained -USB HID/HIDBP DRIVERS (USB KEYBOARDS, MICE, REMOTE CONTROLS, ...) +USB HID/HIDBP DRIVERS P: Jiri Kosina M: jkosina@suse.cz L: linux-usb-devel@lists.sourceforge.net diff --git a/trunk/Makefile b/trunk/Makefile index f3229a4945bf..dfe3d1610a7b 100644 --- a/trunk/Makefile +++ b/trunk/Makefile @@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 23 -EXTRAVERSION =-rc3 +EXTRAVERSION =-rc1 NAME = Holy Dancing Manatees, Batman! # *DOCUMENTATION* diff --git a/trunk/arch/alpha/boot/Makefile b/trunk/arch/alpha/boot/Makefile index cd143887380a..e1ae14cd2b4e 100644 --- a/trunk/arch/alpha/boot/Makefile +++ b/trunk/arch/alpha/boot/Makefile @@ -104,7 +104,7 @@ OBJ_bootlx := $(obj)/head.o $(obj)/main.o OBJ_bootph := $(obj)/head.o $(obj)/bootp.o OBJ_bootpzh := $(obj)/head.o $(obj)/bootpz.o $(obj)/misc.o -$(obj)/bootloader: $(obj)/bootloader.lds $(OBJ_bootlx) $(LIBS_Y) FORCE +$(obj)/bootloader: $(obj)/bootloader.lds $(OBJ_bootlx) FORCE $(call if_changed,ld) $(obj)/bootpheader: $(obj)/bootloader.lds $(OBJ_bootph) $(LIBS_Y) FORCE diff --git a/trunk/arch/alpha/boot/main.c b/trunk/arch/alpha/boot/main.c index 89f3be071ae5..90ed55b662a8 100644 --- a/trunk/arch/alpha/boot/main.c +++ b/trunk/arch/alpha/boot/main.c @@ -132,7 +132,7 @@ static inline long load(long dev, unsigned long addr, unsigned long count) if (result) srm_printk("Boot file specification (%s) not implemented\n", bootfile); - return callback_read(dev, count, (void *)addr, boot_size/512 + 1); + return callback_read(dev, count, addr, boot_size/512 + 1); } /* diff --git a/trunk/arch/alpha/boot/tools/mkbb.c b/trunk/arch/alpha/boot/tools/mkbb.c index 1185778e6a1e..632a7fd6d7dc 100644 --- a/trunk/arch/alpha/boot/tools/mkbb.c +++ b/trunk/arch/alpha/boot/tools/mkbb.c @@ -11,7 +11,6 @@ #include #include -#include #include /* Minimal definition of disklabel, so we don't have to include @@ -115,7 +114,7 @@ int main(int argc, char ** argv) nread = read(fd, &bootloader_image, sizeof(bootblock)); if(nread != sizeof(bootblock)) { perror("lxboot read"); - fprintf(stderr, "expected %zd, got %d\n", sizeof(bootblock), nread); + fprintf(stderr, "expected %d, got %d\n", sizeof(bootblock), nread); exit(0); } @@ -123,7 +122,7 @@ int main(int argc, char ** argv) nread = read(dev, &bootblock_from_disk, sizeof(bootblock)); if(nread != sizeof(bootblock)) { perror("bootblock read"); - fprintf(stderr, "expected %zd, got %d\n", sizeof(bootblock), nread); + fprintf(stderr, "expected %d, got %d\n", sizeof(bootblock), nread); exit(0); } diff --git a/trunk/arch/alpha/boot/tools/objstrip.c b/trunk/arch/alpha/boot/tools/objstrip.c index ef1838230291..96154e768a20 100644 --- a/trunk/arch/alpha/boot/tools/objstrip.c +++ b/trunk/arch/alpha/boot/tools/objstrip.c @@ -144,7 +144,7 @@ main (int argc, char *argv[]) #ifdef __ELF__ elf = (struct elfhdr *) buf; - if (elf->e_ident[0] == 0x7f && strncmp((char *)elf->e_ident + 1, "ELF", 3) == 0) { + if (elf->e_ident[0] == 0x7f && strncmp(elf->e_ident + 1, "ELF", 3) == 0) { if (elf->e_type != ET_EXEC) { fprintf(stderr, "%s: %s is not an ELF executable\n", prog_name, inname); diff --git a/trunk/arch/alpha/kernel/head.S b/trunk/arch/alpha/kernel/head.S index 7ac1f1372c36..e27d23c74ba8 100644 --- a/trunk/arch/alpha/kernel/head.S +++ b/trunk/arch/alpha/kernel/head.S @@ -10,7 +10,6 @@ #include #include -.section .text.head, "ax" .globl swapper_pg_dir .globl _stext swapper_pg_dir=SWAPPER_PGD diff --git a/trunk/arch/alpha/kernel/pci.c b/trunk/arch/alpha/kernel/pci.c index 9dc1cee43265..ab642a4f08de 100644 --- a/trunk/arch/alpha/kernel/pci.c +++ b/trunk/arch/alpha/kernel/pci.c @@ -195,7 +195,7 @@ pcibios_init(void) subsys_initcall(pcibios_init); -char * __devinit +char * __init pcibios_setup(char *str) { return str; @@ -204,7 +204,7 @@ pcibios_setup(char *str) #ifdef ALPHA_RESTORE_SRM_SETUP static struct pdev_srm_saved_conf *srm_saved_configs; -void __devinit +void __init pdev_save_srm_config(struct pci_dev *dev) { struct pdev_srm_saved_conf *tmp; @@ -247,14 +247,14 @@ pci_restore_srm_config(void) } #endif -void __devinit +void __init pcibios_fixup_resource(struct resource *res, struct resource *root) { res->start += root->start; res->end += root->start; } -void __devinit +void __init pcibios_fixup_device_resources(struct pci_dev *dev, struct pci_bus *bus) { /* Update device resources. */ @@ -273,7 +273,7 @@ pcibios_fixup_device_resources(struct pci_dev *dev, struct pci_bus *bus) } } -void __devinit +void __init pcibios_fixup_bus(struct pci_bus *bus) { /* Propagate hose info into the subordinate devices. */ diff --git a/trunk/arch/alpha/kernel/pci_iommu.c b/trunk/arch/alpha/kernel/pci_iommu.c index e1c470752ebc..6b07f89a72c7 100644 --- a/trunk/arch/alpha/kernel/pci_iommu.c +++ b/trunk/arch/alpha/kernel/pci_iommu.c @@ -58,7 +58,7 @@ size_for_memory(unsigned long max) return max; } -struct pci_iommu_arena * __init +struct pci_iommu_arena * iommu_arena_new_node(int nid, struct pci_controller *hose, dma_addr_t base, unsigned long window_size, unsigned long align) { @@ -117,7 +117,7 @@ iommu_arena_new_node(int nid, struct pci_controller *hose, dma_addr_t base, return arena; } -struct pci_iommu_arena * __init +struct pci_iommu_arena * iommu_arena_new(struct pci_controller *hose, dma_addr_t base, unsigned long window_size, unsigned long align) { diff --git a/trunk/arch/alpha/kernel/smp.c b/trunk/arch/alpha/kernel/smp.c index ad176441be55..b28731437c31 100644 --- a/trunk/arch/alpha/kernel/smp.c +++ b/trunk/arch/alpha/kernel/smp.c @@ -16,7 +16,6 @@ #include #include #include -#include #include #include #include @@ -359,7 +358,7 @@ secondary_cpu_start(int cpuid, struct task_struct *idle) /* * Bring one cpu online. */ -static int __cpuinit +static int __devinit smp_boot_one_cpu(int cpuid) { struct task_struct *idle; @@ -488,7 +487,7 @@ smp_prepare_boot_cpu(void) { } -int __cpuinit +int __devinit __cpu_up(unsigned int cpu) { smp_boot_one_cpu(cpu); @@ -542,7 +541,7 @@ smp_percpu_timer_interrupt(struct pt_regs *regs) set_irq_regs(old_regs); } -int +int __init setup_profiling_timer(unsigned int multiplier) { return -EINVAL; diff --git a/trunk/arch/alpha/kernel/sys_titan.c b/trunk/arch/alpha/kernel/sys_titan.c index 52c91ccc1648..1d3c1398c428 100644 --- a/trunk/arch/alpha/kernel/sys_titan.c +++ b/trunk/arch/alpha/kernel/sys_titan.c @@ -270,19 +270,6 @@ titan_dispatch_irqs(u64 mask) /* * Titan Family */ -static void __init -titan_request_irq(unsigned int irq, irq_handler_t handler, - unsigned long irqflags, const char *devname, - void *dev_id) -{ - int err; - err = request_irq(irq, handler, irqflags, devname, dev_id); - if (err) { - printk("titan_request_irq for IRQ %d returned %d; ignoring\n", - irq, err); - } -} - static void __init titan_late_init(void) { @@ -291,15 +278,15 @@ titan_late_init(void) * all reported to the kernel as machine checks, so the handler * is a nop so it can be called to count the individual events. */ - titan_request_irq(63+16, titan_intr_nop, IRQF_DISABLED, + request_irq(63+16, titan_intr_nop, IRQF_DISABLED, "CChip Error", NULL); - titan_request_irq(62+16, titan_intr_nop, IRQF_DISABLED, + request_irq(62+16, titan_intr_nop, IRQF_DISABLED, "PChip 0 H_Error", NULL); - titan_request_irq(61+16, titan_intr_nop, IRQF_DISABLED, + request_irq(61+16, titan_intr_nop, IRQF_DISABLED, "PChip 1 H_Error", NULL); - titan_request_irq(60+16, titan_intr_nop, IRQF_DISABLED, + request_irq(60+16, titan_intr_nop, IRQF_DISABLED, "PChip 0 C_Error", NULL); - titan_request_irq(59+16, titan_intr_nop, IRQF_DISABLED, + request_irq(59+16, titan_intr_nop, IRQF_DISABLED, "PChip 1 C_Error", NULL); /* @@ -358,9 +345,9 @@ privateer_init_pci(void) * Hook a couple of extra err interrupts that the * common titan code won't. */ - titan_request_irq(53+16, titan_intr_nop, IRQF_DISABLED, + request_irq(53+16, titan_intr_nop, IRQF_DISABLED, "NMI", NULL); - titan_request_irq(50+16, titan_intr_nop, IRQF_DISABLED, + request_irq(50+16, titan_intr_nop, IRQF_DISABLED, "Temperature Warning", NULL); /* diff --git a/trunk/arch/alpha/kernel/vmlinux.lds.S b/trunk/arch/alpha/kernel/vmlinux.lds.S index 7af07d3ad5f0..fe13daa5cb2c 100644 --- a/trunk/arch/alpha/kernel/vmlinux.lds.S +++ b/trunk/arch/alpha/kernel/vmlinux.lds.S @@ -15,7 +15,6 @@ SECTIONS _text = .; /* Text and read-only data */ .text : { - *(.text.head) TEXT_TEXT SCHED_TEXT LOCK_TEXT diff --git a/trunk/arch/alpha/mm/init.c b/trunk/arch/alpha/mm/init.c index 5e6da47779a4..550f4907d613 100644 --- a/trunk/arch/alpha/mm/init.c +++ b/trunk/arch/alpha/mm/init.c @@ -267,7 +267,8 @@ callback_init(void * kernel_end) /* * paging_init() sets up the memory map. */ -void __init paging_init(void) +void +paging_init(void) { unsigned long zones_size[MAX_NR_ZONES] = {0, }; unsigned long dma_pfn, high_pfn; diff --git a/trunk/arch/arm/Kconfig b/trunk/arch/arm/Kconfig index d6145298a325..85016313bd11 100644 --- a/trunk/arch/arm/Kconfig +++ b/trunk/arch/arm/Kconfig @@ -341,7 +341,6 @@ config ARCH_PXA select ARCH_MTD_XIP select GENERIC_GPIO select GENERIC_TIME - select GENERIC_CLOCKEVENTS help Support for Intel's PXA2XX processor line. @@ -991,6 +990,8 @@ source "drivers/pnp/Kconfig" source "drivers/block/Kconfig" +source "drivers/acorn/block/Kconfig" + if PCMCIA || ARCH_CLPS7500 || ARCH_IOP32X || ARCH_IOP33X || ARCH_IXP4XX \ || ARCH_L7200 || ARCH_LH7A40X || ARCH_PXA || ARCH_RPC \ || ARCH_S3C2410 || ARCH_SA1100 || ARCH_SHARK || FOOTBRIDGE \ diff --git a/trunk/arch/arm/configs/iop13xx_defconfig b/trunk/arch/arm/configs/iop13xx_defconfig index add03c9e5553..43c4a37e9247 100644 --- a/trunk/arch/arm/configs/iop13xx_defconfig +++ b/trunk/arch/arm/configs/iop13xx_defconfig @@ -1,18 +1,12 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.22 -# Thu Jul 19 15:57:52 2007 +# Linux kernel version: 2.6.20-rc1-git5 +# Tue Dec 19 21:38:01 2006 # CONFIG_ARM=y -CONFIG_SYS_SUPPORTS_APM_EMULATION=y -# CONFIG_GENERIC_GPIO is not set # CONFIG_GENERIC_TIME is not set -# CONFIG_GENERIC_CLOCKEVENTS is not set CONFIG_MMU=y -# CONFIG_NO_IOPORT is not set CONFIG_GENERIC_HARDIRQS=y -CONFIG_STACKTRACE_SUPPORT=y -CONFIG_LOCKDEP_SUPPORT=y CONFIG_TRACE_IRQFLAGS_SUPPORT=y CONFIG_HARDIRQS_SW_RESEND=y CONFIG_GENERIC_IRQ_PROBE=y @@ -21,7 +15,6 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y # CONFIG_ARCH_HAS_ILOG2_U64 is not set CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_ZONE_DMA=y CONFIG_VECTORS_BASE=0xffff0000 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" @@ -39,19 +32,17 @@ CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_SWAP=y CONFIG_SYSVIPC=y -CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_IPC_NS is not set CONFIG_POSIX_MQUEUE=y CONFIG_BSD_PROCESS_ACCT=y # CONFIG_BSD_PROCESS_ACCT_V3 is not set # CONFIG_TASKSTATS is not set -# CONFIG_USER_NS is not set +# CONFIG_UTS_NS is not set # CONFIG_AUDIT is not set CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y -CONFIG_LOG_BUF_SHIFT=14 CONFIG_SYSFS_DEPRECATED=y # CONFIG_RELAY is not set -CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE="" # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_SYSCTL=y @@ -66,30 +57,32 @@ CONFIG_BUG=y CONFIG_ELF_CORE=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y -CONFIG_ANON_INODES=y CONFIG_EPOLL=y -CONFIG_SIGNALFD=y -CONFIG_TIMERFD=y -CONFIG_EVENTFD=y CONFIG_SHMEM=y -CONFIG_VM_EVENT_COUNTERS=y CONFIG_SLAB=y -# CONFIG_SLUB is not set -# CONFIG_SLOB is not set +CONFIG_VM_EVENT_COUNTERS=y CONFIG_RT_MUTEXES=y # CONFIG_TINY_SHMEM is not set CONFIG_BASE_SMALL=0 +# CONFIG_SLOB is not set + +# +# Loadable module support +# CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y # CONFIG_MODULE_FORCE_UNLOAD is not set CONFIG_MODVERSIONS=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_KMOD=y + +# +# Block layer +# CONFIG_BLOCK=y # CONFIG_LBD is not set # CONFIG_BLK_DEV_IO_TRACE is not set # CONFIG_LSF is not set -# CONFIG_BLK_DEV_BSG is not set # # IO Schedulers @@ -121,15 +114,13 @@ CONFIG_DEFAULT_IOSCHED="deadline" # CONFIG_ARCH_NETX is not set # CONFIG_ARCH_H720X is not set # CONFIG_ARCH_IMX is not set -CONFIG_ARCH_IOP13XX=y # CONFIG_ARCH_IOP32X is not set # CONFIG_ARCH_IOP33X is not set -# CONFIG_ARCH_IXP23XX is not set -# CONFIG_ARCH_IXP2000 is not set +CONFIG_ARCH_IOP13XX=y # CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP23XX is not set # CONFIG_ARCH_L7200 is not set -# CONFIG_ARCH_KS8695 is not set -# CONFIG_ARCH_NS9XXX is not set # CONFIG_ARCH_PNX4008 is not set # CONFIG_ARCH_PXA is not set # CONFIG_ARCH_RPC is not set @@ -137,7 +128,6 @@ CONFIG_ARCH_IOP13XX=y # CONFIG_ARCH_S3C2410 is not set # CONFIG_ARCH_SHARK is not set # CONFIG_ARCH_LH7A40X is not set -# CONFIG_ARCH_DAVINCI is not set # CONFIG_ARCH_OMAP is not set # @@ -150,12 +140,6 @@ CONFIG_ARCH_IOP13XX=y CONFIG_MACH_IQ81340SC=y CONFIG_MACH_IQ81340MC=y -# -# IOP13XX IMU Support -# -# CONFIG_IOP_IMU is not set -CONFIG_PLAT_IOP=y - # # Processor Type # @@ -175,16 +159,13 @@ CONFIG_IO_36=y CONFIG_ARM_THUMB=y # CONFIG_CPU_DCACHE_DISABLE is not set # CONFIG_CPU_BPREDICT_DISABLE is not set -# CONFIG_OUTER_CACHE is not set # CONFIG_IWMMXT is not set # # Bus support # CONFIG_PCI=y -CONFIG_PCI_SYSCALL=y -CONFIG_ARCH_SUPPORTS_MSI=y -# CONFIG_PCI_MSI is not set +# CONFIG_PCI_MULTITHREAD_PROBE is not set # # PCCARD (PCMCIA/CardBus) support @@ -194,7 +175,6 @@ CONFIG_ARCH_SUPPORTS_MSI=y # # Kernel Features # -# CONFIG_TICK_ONESHOT is not set # CONFIG_PREEMPT is not set # CONFIG_NO_IDLE_HZ is not set CONFIG_HZ=100 @@ -209,9 +189,6 @@ CONFIG_FLAT_NODE_MEM_MAP=y # CONFIG_SPARSEMEM_STATIC is not set CONFIG_SPLIT_PTLOCK_CPUS=4096 # CONFIG_RESOURCES_64BIT is not set -CONFIG_ZONE_DMA_FLAG=1 -CONFIG_BOUNCE=y -CONFIG_VIRT_TO_BUS=y CONFIG_ALIGNMENT_TRAP=y # @@ -221,7 +198,6 @@ CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 CONFIG_CMDLINE="ip=bootp root=nfs console=ttyS0,115200 nfsroot=,tcp,v3,wsize=8192,rsize=8192" # CONFIG_XIP_KERNEL is not set -# CONFIG_KEXEC is not set # # Floating point emulation @@ -246,6 +222,7 @@ CONFIG_BINFMT_AOUT=y # Power management options # # CONFIG_PM is not set +# CONFIG_APM is not set # # Networking @@ -255,15 +232,14 @@ CONFIG_NET=y # # Networking options # +# CONFIG_NETDEBUG is not set CONFIG_PACKET=y CONFIG_PACKET_MMAP=y CONFIG_UNIX=y CONFIG_XFRM=y # CONFIG_XFRM_USER is not set # CONFIG_XFRM_SUB_POLICY is not set -# CONFIG_XFRM_MIGRATE is not set CONFIG_NET_KEY=y -# CONFIG_NET_KEY_MIGRATE is not set CONFIG_INET=y CONFIG_IP_MULTICAST=y # CONFIG_IP_ADVANCED_ROUTER is not set @@ -294,7 +270,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" CONFIG_IPV6=y # CONFIG_IPV6_PRIVACY is not set # CONFIG_IPV6_ROUTER_PREF is not set -# CONFIG_IPV6_OPTIMISTIC_DAD is not set # CONFIG_INET6_AH is not set # CONFIG_INET6_ESP is not set # CONFIG_INET6_IPCOMP is not set @@ -310,8 +285,20 @@ CONFIG_IPV6=y # CONFIG_IPV6_MULTIPLE_TABLES is not set # CONFIG_NETWORK_SECMARK is not set # CONFIG_NETFILTER is not set + +# +# DCCP Configuration (EXPERIMENTAL) +# # CONFIG_IP_DCCP is not set + +# +# SCTP Configuration (EXPERIMENTAL) +# # CONFIG_IP_SCTP is not set + +# +# TIPC Configuration (EXPERIMENTAL) +# # CONFIG_TIPC is not set # CONFIG_ATM is not set # CONFIG_BRIDGE is not set @@ -337,17 +324,7 @@ CONFIG_IPV6=y # CONFIG_HAMRADIO is not set # CONFIG_IRDA is not set # CONFIG_BT is not set -# CONFIG_AF_RXRPC is not set - -# -# Wireless -# -# CONFIG_CFG80211 is not set -# CONFIG_WIRELESS_EXT is not set -# CONFIG_MAC80211 is not set # CONFIG_IEEE80211 is not set -# CONFIG_RFKILL is not set -# CONFIG_NET_9P is not set # # Device Drivers @@ -360,7 +337,15 @@ CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y # CONFIG_FW_LOADER is not set # CONFIG_SYS_HYPERVISOR is not set + +# +# Connector - unified userspace <-> kernelspace linker +# # CONFIG_CONNECTOR is not set + +# +# Memory Technology Devices (MTD) +# CONFIG_MTD=y # CONFIG_MTD_DEBUG is not set # CONFIG_MTD_CONCAT is not set @@ -376,7 +361,6 @@ CONFIG_MTD_REDBOOT_PARTS_READONLY=y # User Modules And Translation Layers # # CONFIG_MTD_CHAR is not set -CONFIG_MTD_BLKDEVS=y CONFIG_MTD_BLOCK=y # CONFIG_FTL is not set # CONFIG_NFTL is not set @@ -413,6 +397,7 @@ CONFIG_MTD_CFI_UTIL=y # CONFIG_MTD_RAM is not set # CONFIG_MTD_ROM is not set # CONFIG_MTD_ABSENT is not set +# CONFIG_MTD_OBSOLETE_CHIPS is not set # # Mapping drivers for chip access @@ -440,27 +425,42 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2 # CONFIG_MTD_DOC2000 is not set # CONFIG_MTD_DOC2001 is not set # CONFIG_MTD_DOC2001PLUS is not set + +# +# NAND Flash Device Drivers +# # CONFIG_MTD_NAND is not set + +# +# OneNAND Flash Device Drivers +# # CONFIG_MTD_ONENAND is not set # -# UBI - Unsorted block images +# Parallel port support # -# CONFIG_MTD_UBI is not set # CONFIG_PARPORT is not set -CONFIG_BLK_DEV=y + +# +# Plug and Play support +# + +# +# Block devices +# # CONFIG_BLK_CPQ_DA is not set # CONFIG_BLK_CPQ_CISS_DA is not set # CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_UMEM is not set # CONFIG_BLK_DEV_COW_COMMON is not set # CONFIG_BLK_DEV_LOOP is not set -# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_NBD=y # CONFIG_BLK_DEV_SX8 is not set CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_COUNT=2 CONFIG_BLK_DEV_RAM_SIZE=8192 CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 +CONFIG_BLK_DEV_INITRD=y # CONFIG_CDROM_PKTCDVD is not set # CONFIG_ATA_OVER_ETH is not set @@ -469,7 +469,6 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 # # CONFIG_RAID_ATTRS is not set CONFIG_SCSI=y -CONFIG_SCSI_DMA=y # CONFIG_SCSI_TGT is not set # CONFIG_SCSI_NETLINK is not set CONFIG_SCSI_PROC_FS=y @@ -491,7 +490,6 @@ CONFIG_CHR_DEV_SG=y CONFIG_SCSI_CONSTANTS=y # CONFIG_SCSI_LOGGING is not set # CONFIG_SCSI_SCAN_ASYNC is not set -CONFIG_SCSI_WAIT_SCAN=m # # SCSI Transports @@ -536,7 +534,15 @@ CONFIG_SCSI_SAS_ATTRS=y # CONFIG_SCSI_NSP32 is not set # CONFIG_SCSI_DEBUG is not set # CONFIG_SCSI_SRP is not set + +# +# Serial ATA (prod) and Parallel ATA (experimental) drivers +# # CONFIG_ATA is not set + +# +# Multi-device support (RAID and LVM) +# CONFIG_MD=y CONFIG_BLK_DEV_MD=y # CONFIG_MD_LINEAR is not set @@ -554,7 +560,6 @@ CONFIG_BLK_DEV_DM=y # CONFIG_DM_MIRROR is not set # CONFIG_DM_ZERO is not set # CONFIG_DM_MULTIPATH is not set -# CONFIG_DM_DELAY is not set # # Fusion MPT device support @@ -567,19 +572,39 @@ CONFIG_BLK_DEV_DM=y # # IEEE 1394 (FireWire) support # -# CONFIG_FIREWIRE is not set # CONFIG_IEEE1394 is not set + +# +# I2O device support +# # CONFIG_I2O is not set + +# +# Network device support +# CONFIG_NETDEVICES=y -# CONFIG_NETDEVICES_MULTIQUEUE is not set # CONFIG_DUMMY is not set # CONFIG_BONDING is not set -# CONFIG_MACVLAN is not set # CONFIG_EQUALIZER is not set # CONFIG_TUN is not set + +# +# ARCnet devices +# # CONFIG_ARCNET is not set + +# +# PHY device support +# + +# +# Ethernet (10 or 100Mbit) +# # CONFIG_NET_ETHERNET is not set -CONFIG_NETDEV_1000=y + +# +# Ethernet (1000 Mbit) +# # CONFIG_ACENIC is not set # CONFIG_DL2K is not set CONFIG_E1000=y @@ -592,26 +617,33 @@ CONFIG_E1000_NAPI=y # CONFIG_SIS190 is not set # CONFIG_SKGE is not set # CONFIG_SKY2 is not set -# CONFIG_VIA_VELOCITY is not set +# CONFIG_SK98LIN is not set # CONFIG_TIGON3 is not set # CONFIG_BNX2 is not set # CONFIG_QLA3XXX is not set -# CONFIG_ATL1 is not set -CONFIG_NETDEV_10000=y + +# +# Ethernet (10000 Mbit) +# # CONFIG_CHELSIO_T1 is not set -# CONFIG_CHELSIO_T3 is not set # CONFIG_IXGB is not set # CONFIG_S2IO is not set # CONFIG_MYRI10GE is not set # CONFIG_NETXEN_NIC is not set -# CONFIG_MLX4_CORE is not set + +# +# Token Ring devices +# # CONFIG_TR is not set # -# Wireless LAN +# Wireless LAN (non-hamradio) +# +# CONFIG_NET_RADIO is not set + +# +# Wan interfaces # -# CONFIG_WLAN_PRE80211 is not set -# CONFIG_WLAN_80211 is not set # CONFIG_WAN is not set # CONFIG_FDDI is not set # CONFIG_HIPPI is not set @@ -622,6 +654,10 @@ CONFIG_NETDEV_10000=y # CONFIG_NETCONSOLE is not set # CONFIG_NETPOLL is not set # CONFIG_NET_POLL_CONTROLLER is not set + +# +# ISDN subsystem +# # CONFIG_ISDN is not set # @@ -629,7 +665,6 @@ CONFIG_NETDEV_10000=y # CONFIG_INPUT=y # CONFIG_INPUT_FF_MEMLESS is not set -# CONFIG_INPUT_POLLDEV is not set # # Userland interfaces @@ -649,7 +684,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # CONFIG_INPUT_KEYBOARD is not set # CONFIG_INPUT_MOUSE is not set # CONFIG_INPUT_JOYSTICK is not set -# CONFIG_INPUT_TABLET is not set # CONFIG_INPUT_TOUCHSCREEN is not set # CONFIG_INPUT_MISC is not set @@ -687,18 +721,33 @@ CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_UNIX98_PTYS=y CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTY_COUNT=256 + +# +# IPMI +# # CONFIG_IPMI_HANDLER is not set + +# +# Watchdog Cards +# # CONFIG_WATCHDOG is not set CONFIG_HW_RANDOM=y # CONFIG_NVRAM is not set +# CONFIG_DTLK is not set # CONFIG_R3964 is not set # CONFIG_APPLICOM is not set # CONFIG_DRM is not set # CONFIG_RAW_DRIVER is not set + +# +# TPM devices +# # CONFIG_TCG_TPM is not set -CONFIG_DEVPORT=y + +# +# I2C support +# CONFIG_I2C=y -CONFIG_I2C_BOARDINFO=y # CONFIG_I2C_CHARDEV is not set # @@ -725,28 +774,25 @@ CONFIG_I2C_IOP3XX=y # CONFIG_I2C_PARPORT_LIGHT is not set # CONFIG_I2C_PROSAVAGE is not set # CONFIG_I2C_SAVAGE4 is not set -# CONFIG_I2C_SIMTEC is not set # CONFIG_I2C_SIS5595 is not set # CONFIG_I2C_SIS630 is not set # CONFIG_I2C_SIS96X is not set -# CONFIG_I2C_TAOS_EVM is not set # CONFIG_I2C_STUB is not set # CONFIG_I2C_VIA is not set # CONFIG_I2C_VIAPRO is not set # CONFIG_I2C_VOODOO3 is not set +# CONFIG_I2C_PCA_ISA is not set # # Miscellaneous I2C Chip support # # CONFIG_SENSORS_DS1337 is not set # CONFIG_SENSORS_DS1374 is not set -# CONFIG_DS1682 is not set # CONFIG_SENSORS_EEPROM is not set # CONFIG_SENSORS_PCF8574 is not set # CONFIG_SENSORS_PCA9539 is not set # CONFIG_SENSORS_PCF8591 is not set # CONFIG_SENSORS_MAX6875 is not set -# CONFIG_SENSORS_TSL2550 is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set @@ -757,15 +803,21 @@ CONFIG_I2C_IOP3XX=y # # CONFIG_SPI is not set # CONFIG_SPI_MASTER is not set + +# +# Dallas's 1-wire bus +# # CONFIG_W1 is not set + +# +# Hardware Monitoring support +# CONFIG_HWMON=y # CONFIG_HWMON_VID is not set # CONFIG_SENSORS_ABITUGURU is not set -# CONFIG_SENSORS_AD7418 is not set # CONFIG_SENSORS_ADM1021 is not set # CONFIG_SENSORS_ADM1025 is not set # CONFIG_SENSORS_ADM1026 is not set -# CONFIG_SENSORS_ADM1029 is not set # CONFIG_SENSORS_ADM1031 is not set # CONFIG_SENSORS_ADM9240 is not set # CONFIG_SENSORS_ASB100 is not set @@ -788,7 +840,6 @@ CONFIG_HWMON=y # CONFIG_SENSORS_LM90 is not set # CONFIG_SENSORS_LM92 is not set # CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_MAX6650 is not set # CONFIG_SENSORS_PC87360 is not set # CONFIG_SENSORS_PC87427 is not set # CONFIG_SENSORS_SIS5595 is not set @@ -806,16 +857,12 @@ CONFIG_HWMON=y # CONFIG_SENSORS_W83627HF is not set # CONFIG_SENSORS_W83627EHF is not set # CONFIG_HWMON_DEBUG_CHIP is not set -CONFIG_MISC_DEVICES=y -# CONFIG_PHANTOM is not set -# CONFIG_EEPROM_93CX6 is not set -# CONFIG_SGI_IOC4 is not set -# CONFIG_TIFM_CORE is not set # -# Multifunction device drivers +# Misc devices # -# CONFIG_MFD_SM501 is not set +# CONFIG_SGI_IOC4 is not set +# CONFIG_TIFM_CORE is not set # # LED devices @@ -834,19 +881,16 @@ CONFIG_MISC_DEVICES=y # Multimedia devices # # CONFIG_VIDEO_DEV is not set -# CONFIG_DVB_CORE is not set -CONFIG_DAB=y # -# Graphics support +# Digital Video Broadcasting Devices # -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_DVB is not set # -# Display device support +# Graphics support # -# CONFIG_DISPLAY_SUPPORT is not set -# CONFIG_VGASTATE is not set +CONFIG_FIRMWARE_EDID=y # CONFIG_FB is not set # @@ -854,15 +898,21 @@ CONFIG_DAB=y # # CONFIG_VGA_CONSOLE is not set CONFIG_DUMMY_CONSOLE=y +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set # # Sound # # CONFIG_SOUND is not set -CONFIG_HID_SUPPORT=y + +# +# HID Devices +# CONFIG_HID=y -# CONFIG_HID_DEBUG is not set -CONFIG_USB_SUPPORT=y + +# +# USB support +# CONFIG_USB_ARCH_HAS_HCD=y CONFIG_USB_ARCH_HAS_OHCI=y CONFIG_USB_ARCH_HAS_EHCI=y @@ -876,6 +926,10 @@ CONFIG_USB_ARCH_HAS_EHCI=y # USB Gadget Support # # CONFIG_USB_GADGET is not set + +# +# MMC/SD Card support +# # CONFIG_MMC is not set # @@ -884,22 +938,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y CONFIG_RTC_LIB=y # CONFIG_RTC_CLASS is not set -# -# DMA Engine support -# -CONFIG_DMA_ENGINE=y - -# -# DMA Clients -# -# CONFIG_NET_DMA is not set - -# -# DMA Devices -# -# CONFIG_INTEL_IOATDMA is not set -CONFIG_INTEL_IOP_ADMA=y - # # File systems # @@ -966,6 +1004,7 @@ CONFIG_ECRYPT_FS=y # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set +# CONFIG_JFFS_FS is not set CONFIG_JFFS2_FS=y CONFIG_JFFS2_FS_DEBUG=0 CONFIG_JFFS2_FS_WRITEBUFFER=y @@ -975,7 +1014,7 @@ CONFIG_JFFS2_FS_WRITEBUFFER=y CONFIG_JFFS2_ZLIB=y CONFIG_JFFS2_RTIME=y # CONFIG_JFFS2_RUBIN is not set -CONFIG_CRAMFS=y +# CONFIG_CRAMFS is not set # CONFIG_VXFS_FS is not set # CONFIG_HPFS_FS is not set # CONFIG_QNX4FS_FS is not set @@ -1001,7 +1040,6 @@ CONFIG_LOCKD_V4=y CONFIG_EXPORTFS=y CONFIG_NFS_COMMON=y CONFIG_SUNRPC=y -# CONFIG_SUNRPC_BIND34 is not set # CONFIG_RPCSEC_GSS_KRB5 is not set # CONFIG_RPCSEC_GSS_SPKM3 is not set CONFIG_SMB_FS=m @@ -1015,6 +1053,7 @@ CONFIG_CIFS=m # CONFIG_NCP_FS is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set +# CONFIG_9P_FS is not set # # Partition Types @@ -1036,7 +1075,6 @@ CONFIG_MSDOS_PARTITION=y # CONFIG_SUN_PARTITION is not set # CONFIG_KARMA_PARTITION is not set # CONFIG_EFI_PARTITION is not set -# CONFIG_SYSV68_PARTITION is not set # # Native Language Support @@ -1102,6 +1140,7 @@ CONFIG_ENABLE_MUST_CHECK=y # CONFIG_DEBUG_FS is not set # CONFIG_HEADERS_CHECK is not set # CONFIG_DEBUG_KERNEL is not set +CONFIG_LOG_BUF_SHIFT=14 CONFIG_DEBUG_BUGVERBOSE=y CONFIG_FRAME_POINTER=y CONFIG_DEBUG_USER=y @@ -1112,10 +1151,10 @@ CONFIG_DEBUG_USER=y CONFIG_KEYS=y CONFIG_KEYS_DEBUG_PROC_KEYS=y # CONFIG_SECURITY is not set -CONFIG_XOR_BLOCKS=y -CONFIG_ASYNC_CORE=y -CONFIG_ASYNC_MEMCPY=y -CONFIG_ASYNC_XOR=y + +# +# Cryptographic options +# CONFIG_CRYPTO=y CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_BLKCIPHER=y @@ -1134,11 +1173,8 @@ CONFIG_CRYPTO_TGR192=y CONFIG_CRYPTO_GF128MUL=y CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_CBC=y -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_LRW=y -# CONFIG_CRYPTO_CRYPTD is not set CONFIG_CRYPTO_DES=y -# CONFIG_CRYPTO_FCRYPT is not set CONFIG_CRYPTO_BLOWFISH=y CONFIG_CRYPTO_TWOFISH=y CONFIG_CRYPTO_TWOFISH_COMMON=y @@ -1153,9 +1189,11 @@ CONFIG_CRYPTO_ANUBIS=y CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_MICHAEL_MIC=y CONFIG_CRYPTO_CRC32C=y -# CONFIG_CRYPTO_CAMELLIA is not set # CONFIG_CRYPTO_TEST is not set -CONFIG_CRYPTO_HW=y + +# +# Hardware crypto devices +# # # Library routines @@ -1163,13 +1201,9 @@ CONFIG_CRYPTO_HW=y CONFIG_BITREVERSE=y CONFIG_CRC_CCITT=y # CONFIG_CRC16 is not set -# CONFIG_CRC_ITU_T is not set CONFIG_CRC32=y -# CONFIG_CRC7 is not set CONFIG_LIBCRC32C=y CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y CONFIG_PLIST=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y -CONFIG_HAS_DMA=y +CONFIG_IOMAP_COPY=y diff --git a/trunk/arch/arm/configs/iop32x_defconfig b/trunk/arch/arm/configs/iop32x_defconfig index 027aef22b4d1..7909a555706d 100644 --- a/trunk/arch/arm/configs/iop32x_defconfig +++ b/trunk/arch/arm/configs/iop32x_defconfig @@ -1,18 +1,12 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.22 -# Thu Jul 19 16:00:36 2007 +# Linux kernel version: 2.6.20-rc1-git5 +# Tue Dec 19 21:37:52 2006 # CONFIG_ARM=y -CONFIG_SYS_SUPPORTS_APM_EMULATION=y -# CONFIG_GENERIC_GPIO is not set # CONFIG_GENERIC_TIME is not set -# CONFIG_GENERIC_CLOCKEVENTS is not set CONFIG_MMU=y -# CONFIG_NO_IOPORT is not set CONFIG_GENERIC_HARDIRQS=y -CONFIG_STACKTRACE_SUPPORT=y -CONFIG_LOCKDEP_SUPPORT=y CONFIG_TRACE_IRQFLAGS_SUPPORT=y CONFIG_HARDIRQS_SW_RESEND=y CONFIG_GENERIC_IRQ_PROBE=y @@ -21,7 +15,6 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y # CONFIG_ARCH_HAS_ILOG2_U64 is not set CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_ZONE_DMA=y CONFIG_VECTORS_BASE=0xffff0000 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" @@ -39,18 +32,16 @@ CONFIG_LOCALVERSION="" CONFIG_LOCALVERSION_AUTO=y CONFIG_SWAP=y CONFIG_SYSVIPC=y -CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_IPC_NS is not set # CONFIG_POSIX_MQUEUE is not set CONFIG_BSD_PROCESS_ACCT=y # CONFIG_BSD_PROCESS_ACCT_V3 is not set # CONFIG_TASKSTATS is not set -# CONFIG_USER_NS is not set +# CONFIG_UTS_NS is not set # CONFIG_AUDIT is not set # CONFIG_IKCONFIG is not set -CONFIG_LOG_BUF_SHIFT=14 CONFIG_SYSFS_DEPRECATED=y # CONFIG_RELAY is not set -CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE="" CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_SYSCTL=y @@ -66,30 +57,32 @@ CONFIG_BUG=y CONFIG_ELF_CORE=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y -CONFIG_ANON_INODES=y CONFIG_EPOLL=y -CONFIG_SIGNALFD=y -CONFIG_TIMERFD=y -CONFIG_EVENTFD=y CONFIG_SHMEM=y -CONFIG_VM_EVENT_COUNTERS=y CONFIG_SLAB=y -# CONFIG_SLUB is not set -# CONFIG_SLOB is not set +CONFIG_VM_EVENT_COUNTERS=y CONFIG_RT_MUTEXES=y # CONFIG_TINY_SHMEM is not set CONFIG_BASE_SMALL=0 +# CONFIG_SLOB is not set + +# +# Loadable module support +# CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y # CONFIG_MODULE_FORCE_UNLOAD is not set # CONFIG_MODVERSIONS is not set # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_KMOD=y + +# +# Block layer +# CONFIG_BLOCK=y # CONFIG_LBD is not set # CONFIG_BLK_DEV_IO_TRACE is not set # CONFIG_LSF is not set -# CONFIG_BLK_DEV_BSG is not set # # IO Schedulers @@ -121,15 +114,13 @@ CONFIG_DEFAULT_IOSCHED="cfq" # CONFIG_ARCH_NETX is not set # CONFIG_ARCH_H720X is not set # CONFIG_ARCH_IMX is not set -# CONFIG_ARCH_IOP13XX is not set CONFIG_ARCH_IOP32X=y # CONFIG_ARCH_IOP33X is not set -# CONFIG_ARCH_IXP23XX is not set -# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP23XX is not set # CONFIG_ARCH_L7200 is not set -# CONFIG_ARCH_KS8695 is not set -# CONFIG_ARCH_NS9XXX is not set # CONFIG_ARCH_PNX4008 is not set # CONFIG_ARCH_PXA is not set # CONFIG_ARCH_RPC is not set @@ -137,7 +128,6 @@ CONFIG_ARCH_IOP32X=y # CONFIG_ARCH_S3C2410 is not set # CONFIG_ARCH_SHARK is not set # CONFIG_ARCH_LH7A40X is not set -# CONFIG_ARCH_DAVINCI is not set # CONFIG_ARCH_OMAP is not set # @@ -147,12 +137,10 @@ CONFIG_ARCH_IOP32X=y # # IOP32x Platform Types # -CONFIG_MACH_EP80219=y CONFIG_MACH_GLANTANK=y CONFIG_ARCH_IQ80321=y CONFIG_ARCH_IQ31244=y CONFIG_MACH_N2100=y -CONFIG_IOP3XX_ATU=y CONFIG_PLAT_IOP=y # @@ -172,7 +160,6 @@ CONFIG_CPU_CP15_MMU=y # # CONFIG_ARM_THUMB is not set # CONFIG_CPU_DCACHE_DISABLE is not set -# CONFIG_OUTER_CACHE is not set # CONFIG_IWMMXT is not set CONFIG_XSCALE_PMU=y @@ -180,8 +167,7 @@ CONFIG_XSCALE_PMU=y # Bus support # CONFIG_PCI=y -CONFIG_PCI_SYSCALL=y -# CONFIG_ARCH_SUPPORTS_MSI is not set +# CONFIG_PCI_MULTITHREAD_PROBE is not set # CONFIG_PCI_DEBUG is not set # @@ -192,7 +178,6 @@ CONFIG_PCI_SYSCALL=y # # Kernel Features # -# CONFIG_TICK_ONESHOT is not set # CONFIG_PREEMPT is not set # CONFIG_NO_IDLE_HZ is not set CONFIG_HZ=100 @@ -207,9 +192,6 @@ CONFIG_FLAT_NODE_MEM_MAP=y # CONFIG_SPARSEMEM_STATIC is not set CONFIG_SPLIT_PTLOCK_CPUS=4096 # CONFIG_RESOURCES_64BIT is not set -CONFIG_ZONE_DMA_FLAG=1 -CONFIG_BOUNCE=y -CONFIG_VIRT_TO_BUS=y CONFIG_ALIGNMENT_TRAP=y # @@ -217,9 +199,8 @@ CONFIG_ALIGNMENT_TRAP=y # CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/nfs ip=bootp cachepolicy=writealloc" +CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/nfs ip=bootp" # CONFIG_XIP_KERNEL is not set -# CONFIG_KEXEC is not set # # Floating point emulation @@ -244,6 +225,7 @@ CONFIG_BINFMT_AOUT=y # Power management options # # CONFIG_PM is not set +# CONFIG_APM is not set # # Networking @@ -253,13 +235,13 @@ CONFIG_NET=y # # Networking options # +# CONFIG_NETDEBUG is not set CONFIG_PACKET=y CONFIG_PACKET_MMAP=y CONFIG_UNIX=y CONFIG_XFRM=y # CONFIG_XFRM_USER is not set # CONFIG_XFRM_SUB_POLICY is not set -# CONFIG_XFRM_MIGRATE is not set # CONFIG_NET_KEY is not set CONFIG_INET=y CONFIG_IP_MULTICAST=y @@ -291,7 +273,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" CONFIG_IPV6=y # CONFIG_IPV6_PRIVACY is not set # CONFIG_IPV6_ROUTER_PREF is not set -# CONFIG_IPV6_OPTIMISTIC_DAD is not set # CONFIG_INET6_AH is not set # CONFIG_INET6_ESP is not set # CONFIG_INET6_IPCOMP is not set @@ -307,8 +288,20 @@ CONFIG_IPV6=y # CONFIG_IPV6_MULTIPLE_TABLES is not set # CONFIG_NETWORK_SECMARK is not set # CONFIG_NETFILTER is not set + +# +# DCCP Configuration (EXPERIMENTAL) +# # CONFIG_IP_DCCP is not set + +# +# SCTP Configuration (EXPERIMENTAL) +# # CONFIG_IP_SCTP is not set + +# +# TIPC Configuration (EXPERIMENTAL) +# # CONFIG_TIPC is not set # CONFIG_ATM is not set # CONFIG_BRIDGE is not set @@ -334,17 +327,7 @@ CONFIG_IPV6=y # CONFIG_HAMRADIO is not set # CONFIG_IRDA is not set # CONFIG_BT is not set -# CONFIG_AF_RXRPC is not set - -# -# Wireless -# -# CONFIG_CFG80211 is not set -# CONFIG_WIRELESS_EXT is not set -# CONFIG_MAC80211 is not set # CONFIG_IEEE80211 is not set -# CONFIG_RFKILL is not set -# CONFIG_NET_9P is not set # # Device Drivers @@ -357,9 +340,16 @@ CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y # CONFIG_FW_LOADER is not set # CONFIG_DEBUG_DRIVER is not set -# CONFIG_DEBUG_DEVRES is not set # CONFIG_SYS_HYPERVISOR is not set + +# +# Connector - unified userspace <-> kernelspace linker +# # CONFIG_CONNECTOR is not set + +# +# Memory Technology Devices (MTD) +# CONFIG_MTD=y # CONFIG_MTD_DEBUG is not set # CONFIG_MTD_CONCAT is not set @@ -375,7 +365,6 @@ CONFIG_MTD_REDBOOT_PARTS_READONLY=y # User Modules And Translation Layers # CONFIG_MTD_CHAR=y -CONFIG_MTD_BLKDEVS=y CONFIG_MTD_BLOCK=y # CONFIG_FTL is not set # CONFIG_NFTL is not set @@ -407,6 +396,7 @@ CONFIG_MTD_CFI_UTIL=y # CONFIG_MTD_RAM is not set # CONFIG_MTD_ROM is not set # CONFIG_MTD_ABSENT is not set +# CONFIG_MTD_OBSOLETE_CHIPS is not set # # Mapping drivers for chip access @@ -434,15 +424,29 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=1 # CONFIG_MTD_DOC2000 is not set # CONFIG_MTD_DOC2001 is not set # CONFIG_MTD_DOC2001PLUS is not set + +# +# NAND Flash Device Drivers +# # CONFIG_MTD_NAND is not set + +# +# OneNAND Flash Device Drivers +# # CONFIG_MTD_ONENAND is not set # -# UBI - Unsorted block images +# Parallel port support # -# CONFIG_MTD_UBI is not set # CONFIG_PARPORT is not set -CONFIG_BLK_DEV=y + +# +# Plug and Play support +# + +# +# Block devices +# # CONFIG_BLK_CPQ_DA is not set # CONFIG_BLK_CPQ_CISS_DA is not set # CONFIG_BLK_DEV_DAC960 is not set @@ -457,8 +461,13 @@ CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=8192 CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 +CONFIG_BLK_DEV_INITRD=y # CONFIG_CDROM_PKTCDVD is not set # CONFIG_ATA_OVER_ETH is not set + +# +# ATA/ATAPI/MFM/RLL support +# # CONFIG_IDE is not set # @@ -466,7 +475,6 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 # # CONFIG_RAID_ATTRS is not set CONFIG_SCSI=y -CONFIG_SCSI_DMA=y # CONFIG_SCSI_TGT is not set # CONFIG_SCSI_NETLINK is not set CONFIG_SCSI_PROC_FS=y @@ -488,7 +496,6 @@ CONFIG_CHR_DEV_SG=y # CONFIG_SCSI_CONSTANTS is not set # CONFIG_SCSI_LOGGING is not set # CONFIG_SCSI_SCAN_ASYNC is not set -CONFIG_SCSI_WAIT_SCAN=m # # SCSI Transports @@ -534,8 +541,11 @@ CONFIG_SCSI_WAIT_SCAN=m # CONFIG_SCSI_NSP32 is not set # CONFIG_SCSI_DEBUG is not set # CONFIG_SCSI_SRP is not set + +# +# Serial ATA (prod) and Parallel ATA (experimental) drivers +# CONFIG_ATA=y -# CONFIG_ATA_NONSTANDARD is not set # CONFIG_SATA_AHCI is not set # CONFIG_SATA_SVW is not set # CONFIG_ATA_PIIX is not set @@ -550,13 +560,11 @@ CONFIG_SATA_SIL=y # CONFIG_SATA_SIS is not set # CONFIG_SATA_ULI is not set # CONFIG_SATA_VIA is not set -CONFIG_SATA_VITESSE=y -# CONFIG_SATA_INIC162X is not set +# CONFIG_SATA_VITESSE is not set # CONFIG_PATA_ALI is not set # CONFIG_PATA_AMD is not set # CONFIG_PATA_ARTOP is not set # CONFIG_PATA_ATIIXP is not set -# CONFIG_PATA_CMD640_PCI is not set # CONFIG_PATA_CMD64X is not set # CONFIG_PATA_CS5520 is not set # CONFIG_PATA_CS5530 is not set @@ -568,7 +576,6 @@ CONFIG_SATA_VITESSE=y # CONFIG_PATA_HPT3X2N is not set # CONFIG_PATA_HPT3X3 is not set # CONFIG_PATA_IT821X is not set -# CONFIG_PATA_IT8213 is not set # CONFIG_PATA_JMICRON is not set # CONFIG_PATA_TRIFLEX is not set # CONFIG_PATA_MARVELL is not set @@ -588,14 +595,17 @@ CONFIG_SATA_VITESSE=y # CONFIG_PATA_SIS is not set # CONFIG_PATA_VIA is not set # CONFIG_PATA_WINBOND is not set + +# +# Multi-device support (RAID and LVM) +# CONFIG_MD=y CONFIG_BLK_DEV_MD=y # CONFIG_MD_LINEAR is not set CONFIG_MD_RAID0=y CONFIG_MD_RAID1=y -CONFIG_MD_RAID10=y -CONFIG_MD_RAID456=y -# CONFIG_MD_RAID5_RESHAPE is not set +# CONFIG_MD_RAID10 is not set +# CONFIG_MD_RAID456 is not set # CONFIG_MD_MULTIPATH is not set # CONFIG_MD_FAULTY is not set CONFIG_BLK_DEV_DM=y @@ -605,7 +615,6 @@ CONFIG_BLK_DEV_DM=y # CONFIG_DM_MIRROR is not set # CONFIG_DM_ZERO is not set # CONFIG_DM_MULTIPATH is not set -# CONFIG_DM_DELAY is not set # # Fusion MPT device support @@ -618,27 +627,47 @@ CONFIG_BLK_DEV_DM=y # # IEEE 1394 (FireWire) support # -# CONFIG_FIREWIRE is not set # CONFIG_IEEE1394 is not set + +# +# I2O device support +# # CONFIG_I2O is not set + +# +# Network device support +# CONFIG_NETDEVICES=y -# CONFIG_NETDEVICES_MULTIQUEUE is not set # CONFIG_DUMMY is not set # CONFIG_BONDING is not set -# CONFIG_MACVLAN is not set # CONFIG_EQUALIZER is not set # CONFIG_TUN is not set + +# +# ARCnet devices +# # CONFIG_ARCNET is not set + +# +# PHY device support +# # CONFIG_PHYLIB is not set + +# +# Ethernet (10 or 100Mbit) +# CONFIG_NET_ETHERNET=y CONFIG_MII=y -# CONFIG_AX88796 is not set # CONFIG_HAPPYMEAL is not set # CONFIG_SUNGEM is not set # CONFIG_CASSINI is not set # CONFIG_NET_VENDOR_3COM is not set # CONFIG_SMC91X is not set # CONFIG_DM9000 is not set + +# +# Tulip family network device support +# # CONFIG_NET_TULIP is not set # CONFIG_HP100 is not set CONFIG_NET_PCI=y @@ -660,8 +689,10 @@ CONFIG_E100=y # CONFIG_SUNDANCE is not set # CONFIG_TLAN is not set # CONFIG_VIA_RHINE is not set -# CONFIG_SC92031 is not set -CONFIG_NETDEV_1000=y + +# +# Ethernet (1000 Mbit) +# # CONFIG_ACENIC is not set # CONFIG_DL2K is not set CONFIG_E1000=y @@ -675,36 +706,34 @@ CONFIG_R8169=y # CONFIG_SIS190 is not set # CONFIG_SKGE is not set # CONFIG_SKY2 is not set +# CONFIG_SK98LIN is not set # CONFIG_VIA_VELOCITY is not set # CONFIG_TIGON3 is not set # CONFIG_BNX2 is not set # CONFIG_QLA3XXX is not set -# CONFIG_ATL1 is not set -CONFIG_NETDEV_10000=y + +# +# Ethernet (10000 Mbit) +# # CONFIG_CHELSIO_T1 is not set -# CONFIG_CHELSIO_T3 is not set # CONFIG_IXGB is not set # CONFIG_S2IO is not set # CONFIG_MYRI10GE is not set # CONFIG_NETXEN_NIC is not set -# CONFIG_MLX4_CORE is not set + +# +# Token Ring devices +# # CONFIG_TR is not set # -# Wireless LAN +# Wireless LAN (non-hamradio) # -# CONFIG_WLAN_PRE80211 is not set -# CONFIG_WLAN_80211 is not set +# CONFIG_NET_RADIO is not set # -# USB Network Adapters +# Wan interfaces # -# CONFIG_USB_CATC is not set -# CONFIG_USB_KAWETH is not set -# CONFIG_USB_PEGASUS is not set -# CONFIG_USB_RTL8150 is not set -# CONFIG_USB_USBNET_MII is not set -# CONFIG_USB_USBNET is not set # CONFIG_WAN is not set # CONFIG_FDDI is not set # CONFIG_HIPPI is not set @@ -715,6 +744,10 @@ CONFIG_NETDEV_10000=y # CONFIG_NETCONSOLE is not set # CONFIG_NETPOLL is not set # CONFIG_NET_POLL_CONTROLLER is not set + +# +# ISDN subsystem +# # CONFIG_ISDN is not set # @@ -722,7 +755,6 @@ CONFIG_NETDEV_10000=y # CONFIG_INPUT=y # CONFIG_INPUT_FF_MEMLESS is not set -# CONFIG_INPUT_POLLDEV is not set # # Userland interfaces @@ -742,7 +774,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # CONFIG_INPUT_KEYBOARD is not set # CONFIG_INPUT_MOUSE is not set # CONFIG_INPUT_JOYSTICK is not set -# CONFIG_INPUT_TABLET is not set # CONFIG_INPUT_TOUCHSCREEN is not set # CONFIG_INPUT_MISC is not set @@ -780,18 +811,33 @@ CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_UNIX98_PTYS=y CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTY_COUNT=256 + +# +# IPMI +# # CONFIG_IPMI_HANDLER is not set + +# +# Watchdog Cards +# # CONFIG_WATCHDOG is not set CONFIG_HW_RANDOM=y # CONFIG_NVRAM is not set +# CONFIG_DTLK is not set # CONFIG_R3964 is not set # CONFIG_APPLICOM is not set # CONFIG_DRM is not set # CONFIG_RAW_DRIVER is not set + +# +# TPM devices +# # CONFIG_TCG_TPM is not set -CONFIG_DEVPORT=y + +# +# I2C support +# CONFIG_I2C=y -CONFIG_I2C_BOARDINFO=y CONFIG_I2C_CHARDEV=y # @@ -818,29 +864,25 @@ CONFIG_I2C_IOP3XX=y # CONFIG_I2C_PARPORT_LIGHT is not set # CONFIG_I2C_PROSAVAGE is not set # CONFIG_I2C_SAVAGE4 is not set -# CONFIG_I2C_SIMTEC is not set # CONFIG_I2C_SIS5595 is not set # CONFIG_I2C_SIS630 is not set # CONFIG_I2C_SIS96X is not set -# CONFIG_I2C_TAOS_EVM is not set # CONFIG_I2C_STUB is not set -# CONFIG_I2C_TINY_USB is not set # CONFIG_I2C_VIA is not set # CONFIG_I2C_VIAPRO is not set # CONFIG_I2C_VOODOO3 is not set +# CONFIG_I2C_PCA_ISA is not set # # Miscellaneous I2C Chip support # # CONFIG_SENSORS_DS1337 is not set # CONFIG_SENSORS_DS1374 is not set -# CONFIG_DS1682 is not set # CONFIG_SENSORS_EEPROM is not set # CONFIG_SENSORS_PCF8574 is not set # CONFIG_SENSORS_PCA9539 is not set # CONFIG_SENSORS_PCF8591 is not set # CONFIG_SENSORS_MAX6875 is not set -# CONFIG_SENSORS_TSL2550 is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set @@ -851,15 +893,21 @@ CONFIG_I2C_IOP3XX=y # # CONFIG_SPI is not set # CONFIG_SPI_MASTER is not set + +# +# Dallas's 1-wire bus +# # CONFIG_W1 is not set + +# +# Hardware Monitoring support +# CONFIG_HWMON=y # CONFIG_HWMON_VID is not set # CONFIG_SENSORS_ABITUGURU is not set -# CONFIG_SENSORS_AD7418 is not set # CONFIG_SENSORS_ADM1021 is not set # CONFIG_SENSORS_ADM1025 is not set # CONFIG_SENSORS_ADM1026 is not set -# CONFIG_SENSORS_ADM1029 is not set # CONFIG_SENSORS_ADM1031 is not set # CONFIG_SENSORS_ADM9240 is not set # CONFIG_SENSORS_ASB100 is not set @@ -882,7 +930,6 @@ CONFIG_HWMON=y # CONFIG_SENSORS_LM90 is not set # CONFIG_SENSORS_LM92 is not set # CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_MAX6650 is not set # CONFIG_SENSORS_PC87360 is not set # CONFIG_SENSORS_PC87427 is not set # CONFIG_SENSORS_SIS5595 is not set @@ -900,16 +947,12 @@ CONFIG_HWMON=y # CONFIG_SENSORS_W83627HF is not set # CONFIG_SENSORS_W83627EHF is not set # CONFIG_HWMON_DEBUG_CHIP is not set -CONFIG_MISC_DEVICES=y -# CONFIG_PHANTOM is not set -# CONFIG_EEPROM_93CX6 is not set -# CONFIG_SGI_IOC4 is not set -# CONFIG_TIFM_CORE is not set # -# Multifunction device drivers +# Misc devices # -# CONFIG_MFD_SM501 is not set +# CONFIG_SGI_IOC4 is not set +# CONFIG_TIFM_CORE is not set # # LED devices @@ -928,20 +971,17 @@ CONFIG_MISC_DEVICES=y # Multimedia devices # # CONFIG_VIDEO_DEV is not set -# CONFIG_DVB_CORE is not set -CONFIG_DAB=y -# CONFIG_USB_DABUSB is not set # -# Graphics support +# Digital Video Broadcasting Devices # -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_DVB is not set +# CONFIG_USB_DABUSB is not set # -# Display device support +# Graphics support # -# CONFIG_DISPLAY_SUPPORT is not set -# CONFIG_VGASTATE is not set +CONFIG_FIRMWARE_EDID=y # CONFIG_FB is not set # @@ -949,26 +989,21 @@ CONFIG_DAB=y # # CONFIG_VGA_CONSOLE is not set CONFIG_DUMMY_CONSOLE=y +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set # # Sound # # CONFIG_SOUND is not set -CONFIG_HID_SUPPORT=y -CONFIG_HID=y -# CONFIG_HID_DEBUG is not set # -# USB Input Devices +# HID Devices # -# CONFIG_USB_HID is not set +CONFIG_HID=y # -# USB HID Boot Protocol drivers +# USB support # -# CONFIG_USB_KBD is not set -# CONFIG_USB_MOUSE is not set -CONFIG_USB_SUPPORT=y CONFIG_USB_ARCH_HAS_HCD=y CONFIG_USB_ARCH_HAS_OHCI=y CONFIG_USB_ARCH_HAS_EHCI=y @@ -979,8 +1014,9 @@ CONFIG_USB=y # Miscellaneous USB options # # CONFIG_USB_DEVICEFS is not set -CONFIG_USB_DEVICE_CLASS=y +# CONFIG_USB_BANDWIDTH is not set # CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_MULTITHREAD_PROBE is not set # CONFIG_USB_OTG is not set # @@ -994,7 +1030,6 @@ CONFIG_USB_EHCI_TT_NEWSCHED=y # CONFIG_USB_OHCI_HCD is not set CONFIG_USB_UHCI_HCD=y # CONFIG_USB_SL811_HCD is not set -# CONFIG_USB_R8A66597_HCD is not set # # USB Device Class drivers @@ -1022,11 +1057,44 @@ CONFIG_USB_STORAGE=y # CONFIG_USB_STORAGE_KARMA is not set # CONFIG_USB_LIBUSUAL is not set +# +# USB Input Devices +# +# CONFIG_USB_HID is not set + +# +# USB HID Boot Protocol drivers +# +# CONFIG_USB_KBD is not set +# CONFIG_USB_MOUSE is not set +# CONFIG_USB_AIPTEK is not set +# CONFIG_USB_WACOM is not set +# CONFIG_USB_ACECAD is not set +# CONFIG_USB_KBTAB is not set +# CONFIG_USB_POWERMATE is not set +# CONFIG_USB_TOUCHSCREEN is not set +# CONFIG_USB_YEALINK is not set +# CONFIG_USB_XPAD is not set +# CONFIG_USB_ATI_REMOTE is not set +# CONFIG_USB_ATI_REMOTE2 is not set +# CONFIG_USB_KEYSPAN_REMOTE is not set +# CONFIG_USB_APPLETOUCH is not set + # # USB Imaging devices # # CONFIG_USB_MDC800 is not set # CONFIG_USB_MICROTEK is not set + +# +# USB Network Adapters +# +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_USBNET_MII is not set +# CONFIG_USB_USBNET is not set CONFIG_USB_MON=y # @@ -1048,7 +1116,6 @@ CONFIG_USB_MON=y # CONFIG_USB_RIO500 is not set # CONFIG_USB_LEGOTOWER is not set # CONFIG_USB_LCD is not set -# CONFIG_USB_BERRY_CHARGE is not set # CONFIG_USB_LED is not set # CONFIG_USB_CYPRESS_CY7C63 is not set # CONFIG_USB_CYTHERM is not set @@ -1059,7 +1126,6 @@ CONFIG_USB_MON=y # CONFIG_USB_SISUSBVGA is not set # CONFIG_USB_LD is not set # CONFIG_USB_TRANCEVIBRATOR is not set -# CONFIG_USB_IOWARRIOR is not set # # USB DSL modem support @@ -1069,6 +1135,10 @@ CONFIG_USB_MON=y # USB Gadget Support # # CONFIG_USB_GADGET is not set + +# +# MMC/SD Card support +# # CONFIG_MMC is not set # @@ -1077,22 +1147,6 @@ CONFIG_USB_MON=y CONFIG_RTC_LIB=y # CONFIG_RTC_CLASS is not set -# -# DMA Engine support -# -CONFIG_DMA_ENGINE=y - -# -# DMA Clients -# -CONFIG_NET_DMA=y - -# -# DMA Devices -# -# CONFIG_INTEL_IOATDMA is not set -CONFIG_INTEL_IOP_ADMA=y - # # File systems # @@ -1110,7 +1164,11 @@ CONFIG_FS_MBCACHE=y # CONFIG_REISERFS_FS is not set # CONFIG_JFS_FS is not set # CONFIG_FS_POSIX_ACL is not set -# CONFIG_XFS_FS is not set +CONFIG_XFS_FS=y +# CONFIG_XFS_QUOTA is not set +CONFIG_XFS_SECURITY=y +CONFIG_XFS_POSIX_ACL=y +# CONFIG_XFS_RT is not set # CONFIG_GFS2_FS is not set # CONFIG_OCFS2_FS is not set # CONFIG_MINIX_FS is not set @@ -1159,6 +1217,7 @@ CONFIG_ECRYPT_FS=y # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set +# CONFIG_JFFS_FS is not set CONFIG_JFFS2_FS=y CONFIG_JFFS2_FS_DEBUG=0 CONFIG_JFFS2_FS_WRITEBUFFER=y @@ -1168,7 +1227,7 @@ CONFIG_JFFS2_FS_WRITEBUFFER=y CONFIG_JFFS2_ZLIB=y CONFIG_JFFS2_RTIME=y # CONFIG_JFFS2_RUBIN is not set -CONFIG_CRAMFS=y +# CONFIG_CRAMFS is not set # CONFIG_VXFS_FS is not set # CONFIG_HPFS_FS is not set # CONFIG_QNX4FS_FS is not set @@ -1194,7 +1253,6 @@ CONFIG_LOCKD_V4=y CONFIG_EXPORTFS=y CONFIG_NFS_COMMON=y CONFIG_SUNRPC=y -# CONFIG_SUNRPC_BIND34 is not set # CONFIG_RPCSEC_GSS_KRB5 is not set # CONFIG_RPCSEC_GSS_SPKM3 is not set # CONFIG_SMB_FS is not set @@ -1202,6 +1260,7 @@ CONFIG_SUNRPC=y # CONFIG_NCP_FS is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set +# CONFIG_9P_FS is not set # # Partition Types @@ -1223,7 +1282,6 @@ CONFIG_MSDOS_PARTITION=y # CONFIG_SUN_PARTITION is not set # CONFIG_KARMA_PARTITION is not set # CONFIG_EFI_PARTITION is not set -# CONFIG_SYSV68_PARTITION is not set # # Native Language Support @@ -1250,19 +1308,15 @@ CONFIG_MAGIC_SYSRQ=y # CONFIG_DEBUG_FS is not set # CONFIG_HEADERS_CHECK is not set CONFIG_DEBUG_KERNEL=y -# CONFIG_DEBUG_SHIRQ is not set +CONFIG_LOG_BUF_SHIFT=14 CONFIG_DETECT_SOFTLOCKUP=y -CONFIG_SCHED_DEBUG=y # CONFIG_SCHEDSTATS is not set -# CONFIG_TIMER_STATS is not set # CONFIG_DEBUG_SLAB is not set # CONFIG_DEBUG_RT_MUTEXES is not set # CONFIG_RT_MUTEX_TESTER is not set # CONFIG_DEBUG_SPINLOCK is not set # CONFIG_DEBUG_MUTEXES is not set -# CONFIG_DEBUG_LOCK_ALLOC is not set -# CONFIG_PROVE_LOCKING is not set -# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_RWSEMS is not set # CONFIG_DEBUG_SPINLOCK_SLEEP is not set # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set # CONFIG_DEBUG_KOBJECT is not set @@ -1273,7 +1327,6 @@ CONFIG_DEBUG_BUGVERBOSE=y CONFIG_FRAME_POINTER=y # CONFIG_FORCED_INLINING is not set # CONFIG_RCU_TORTURE_TEST is not set -# CONFIG_FAULT_INJECTION is not set CONFIG_DEBUG_USER=y # CONFIG_DEBUG_ERRORS is not set CONFIG_DEBUG_LL=y @@ -1285,10 +1338,10 @@ CONFIG_DEBUG_LL=y CONFIG_KEYS=y CONFIG_KEYS_DEBUG_PROC_KEYS=y # CONFIG_SECURITY is not set -CONFIG_XOR_BLOCKS=y -CONFIG_ASYNC_CORE=y -CONFIG_ASYNC_MEMCPY=y -CONFIG_ASYNC_XOR=y + +# +# Cryptographic options +# CONFIG_CRYPTO=y CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_BLKCIPHER=y @@ -1307,11 +1360,8 @@ CONFIG_CRYPTO_TGR192=y CONFIG_CRYPTO_GF128MUL=y CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_CBC=y -CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_LRW=y -# CONFIG_CRYPTO_CRYPTD is not set CONFIG_CRYPTO_DES=y -# CONFIG_CRYPTO_FCRYPT is not set CONFIG_CRYPTO_BLOWFISH=y CONFIG_CRYPTO_TWOFISH=y CONFIG_CRYPTO_TWOFISH_COMMON=y @@ -1326,9 +1376,11 @@ CONFIG_CRYPTO_ANUBIS=y CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_MICHAEL_MIC=y CONFIG_CRYPTO_CRC32C=y -# CONFIG_CRYPTO_CAMELLIA is not set # CONFIG_CRYPTO_TEST is not set -CONFIG_CRYPTO_HW=y + +# +# Hardware crypto devices +# # # Library routines @@ -1336,13 +1388,9 @@ CONFIG_CRYPTO_HW=y CONFIG_BITREVERSE=y # CONFIG_CRC_CCITT is not set # CONFIG_CRC16 is not set -# CONFIG_CRC_ITU_T is not set CONFIG_CRC32=y -# CONFIG_CRC7 is not set CONFIG_LIBCRC32C=y CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y CONFIG_PLIST=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y -CONFIG_HAS_DMA=y +CONFIG_IOMAP_COPY=y diff --git a/trunk/arch/arm/configs/iop33x_defconfig b/trunk/arch/arm/configs/iop33x_defconfig index 721ee64a13f7..fa271bce8ff7 100644 --- a/trunk/arch/arm/configs/iop33x_defconfig +++ b/trunk/arch/arm/configs/iop33x_defconfig @@ -1,18 +1,12 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.22 -# Thu Jul 19 16:05:59 2007 +# Linux kernel version: 2.6.20-rc1 +# Sat Dec 16 06:05:34 2006 # CONFIG_ARM=y -CONFIG_SYS_SUPPORTS_APM_EMULATION=y -# CONFIG_GENERIC_GPIO is not set # CONFIG_GENERIC_TIME is not set -# CONFIG_GENERIC_CLOCKEVENTS is not set CONFIG_MMU=y -# CONFIG_NO_IOPORT is not set CONFIG_GENERIC_HARDIRQS=y -CONFIG_STACKTRACE_SUPPORT=y -CONFIG_LOCKDEP_SUPPORT=y CONFIG_TRACE_IRQFLAGS_SUPPORT=y CONFIG_HARDIRQS_SW_RESEND=y CONFIG_GENERIC_IRQ_PROBE=y @@ -21,7 +15,6 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y # CONFIG_ARCH_HAS_ILOG2_U64 is not set CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_ZONE_DMA=y CONFIG_VECTORS_BASE=0xffff0000 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" @@ -39,18 +32,16 @@ CONFIG_LOCALVERSION="" CONFIG_LOCALVERSION_AUTO=y CONFIG_SWAP=y CONFIG_SYSVIPC=y -CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_IPC_NS is not set # CONFIG_POSIX_MQUEUE is not set CONFIG_BSD_PROCESS_ACCT=y # CONFIG_BSD_PROCESS_ACCT_V3 is not set # CONFIG_TASKSTATS is not set -# CONFIG_USER_NS is not set +# CONFIG_UTS_NS is not set # CONFIG_AUDIT is not set # CONFIG_IKCONFIG is not set -CONFIG_LOG_BUF_SHIFT=14 CONFIG_SYSFS_DEPRECATED=y # CONFIG_RELAY is not set -CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE="" CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_SYSCTL=y @@ -66,30 +57,32 @@ CONFIG_BUG=y CONFIG_ELF_CORE=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y -CONFIG_ANON_INODES=y CONFIG_EPOLL=y -CONFIG_SIGNALFD=y -CONFIG_TIMERFD=y -CONFIG_EVENTFD=y CONFIG_SHMEM=y -CONFIG_VM_EVENT_COUNTERS=y CONFIG_SLAB=y -# CONFIG_SLUB is not set -# CONFIG_SLOB is not set +CONFIG_VM_EVENT_COUNTERS=y CONFIG_RT_MUTEXES=y # CONFIG_TINY_SHMEM is not set CONFIG_BASE_SMALL=0 +# CONFIG_SLOB is not set + +# +# Loadable module support +# CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y # CONFIG_MODULE_FORCE_UNLOAD is not set # CONFIG_MODVERSIONS is not set # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_KMOD=y + +# +# Block layer +# CONFIG_BLOCK=y # CONFIG_LBD is not set # CONFIG_BLK_DEV_IO_TRACE is not set # CONFIG_LSF is not set -# CONFIG_BLK_DEV_BSG is not set # # IO Schedulers @@ -121,15 +114,13 @@ CONFIG_DEFAULT_IOSCHED="cfq" # CONFIG_ARCH_NETX is not set # CONFIG_ARCH_H720X is not set # CONFIG_ARCH_IMX is not set -# CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IOP32X is not set CONFIG_ARCH_IOP33X=y -# CONFIG_ARCH_IXP23XX is not set -# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP23XX is not set # CONFIG_ARCH_L7200 is not set -# CONFIG_ARCH_KS8695 is not set -# CONFIG_ARCH_NS9XXX is not set # CONFIG_ARCH_PNX4008 is not set # CONFIG_ARCH_PXA is not set # CONFIG_ARCH_RPC is not set @@ -137,9 +128,7 @@ CONFIG_ARCH_IOP33X=y # CONFIG_ARCH_S3C2410 is not set # CONFIG_ARCH_SHARK is not set # CONFIG_ARCH_LH7A40X is not set -# CONFIG_ARCH_DAVINCI is not set # CONFIG_ARCH_OMAP is not set -CONFIG_IOP3XX_ATU=y # # IOP33x Implementation Options @@ -169,7 +158,6 @@ CONFIG_CPU_CP15_MMU=y # # CONFIG_ARM_THUMB is not set # CONFIG_CPU_DCACHE_DISABLE is not set -# CONFIG_OUTER_CACHE is not set # CONFIG_IWMMXT is not set CONFIG_XSCALE_PMU=y @@ -177,8 +165,7 @@ CONFIG_XSCALE_PMU=y # Bus support # CONFIG_PCI=y -CONFIG_PCI_SYSCALL=y -# CONFIG_ARCH_SUPPORTS_MSI is not set +# CONFIG_PCI_MULTITHREAD_PROBE is not set # CONFIG_PCI_DEBUG is not set # @@ -189,7 +176,6 @@ CONFIG_PCI_SYSCALL=y # # Kernel Features # -# CONFIG_TICK_ONESHOT is not set # CONFIG_PREEMPT is not set # CONFIG_NO_IDLE_HZ is not set CONFIG_HZ=100 @@ -204,9 +190,6 @@ CONFIG_FLAT_NODE_MEM_MAP=y # CONFIG_SPARSEMEM_STATIC is not set CONFIG_SPLIT_PTLOCK_CPUS=4096 # CONFIG_RESOURCES_64BIT is not set -CONFIG_ZONE_DMA_FLAG=1 -CONFIG_BOUNCE=y -CONFIG_VIRT_TO_BUS=y CONFIG_ALIGNMENT_TRAP=y # @@ -214,9 +197,8 @@ CONFIG_ALIGNMENT_TRAP=y # CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/nfs ip=bootp cachepolicy=writealloc" +CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/nfs ip=bootp" # CONFIG_XIP_KERNEL is not set -# CONFIG_KEXEC is not set # # Floating point emulation @@ -241,6 +223,7 @@ CONFIG_BINFMT_AOUT=y # Power management options # # CONFIG_PM is not set +# CONFIG_APM is not set # # Networking @@ -250,13 +233,13 @@ CONFIG_NET=y # # Networking options # +# CONFIG_NETDEBUG is not set CONFIG_PACKET=y CONFIG_PACKET_MMAP=y CONFIG_UNIX=y CONFIG_XFRM=y # CONFIG_XFRM_USER is not set # CONFIG_XFRM_SUB_POLICY is not set -# CONFIG_XFRM_MIGRATE is not set # CONFIG_NET_KEY is not set CONFIG_INET=y CONFIG_IP_MULTICAST=y @@ -288,7 +271,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" CONFIG_IPV6=y # CONFIG_IPV6_PRIVACY is not set # CONFIG_IPV6_ROUTER_PREF is not set -# CONFIG_IPV6_OPTIMISTIC_DAD is not set # CONFIG_INET6_AH is not set # CONFIG_INET6_ESP is not set # CONFIG_INET6_IPCOMP is not set @@ -304,8 +286,20 @@ CONFIG_IPV6=y # CONFIG_IPV6_MULTIPLE_TABLES is not set # CONFIG_NETWORK_SECMARK is not set # CONFIG_NETFILTER is not set + +# +# DCCP Configuration (EXPERIMENTAL) +# # CONFIG_IP_DCCP is not set + +# +# SCTP Configuration (EXPERIMENTAL) +# # CONFIG_IP_SCTP is not set + +# +# TIPC Configuration (EXPERIMENTAL) +# # CONFIG_TIPC is not set # CONFIG_ATM is not set # CONFIG_BRIDGE is not set @@ -331,17 +325,7 @@ CONFIG_IPV6=y # CONFIG_HAMRADIO is not set # CONFIG_IRDA is not set # CONFIG_BT is not set -# CONFIG_AF_RXRPC is not set - -# -# Wireless -# -# CONFIG_CFG80211 is not set -# CONFIG_WIRELESS_EXT is not set -# CONFIG_MAC80211 is not set # CONFIG_IEEE80211 is not set -# CONFIG_RFKILL is not set -# CONFIG_NET_9P is not set # # Device Drivers @@ -354,9 +338,16 @@ CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y # CONFIG_FW_LOADER is not set # CONFIG_DEBUG_DRIVER is not set -# CONFIG_DEBUG_DEVRES is not set # CONFIG_SYS_HYPERVISOR is not set + +# +# Connector - unified userspace <-> kernelspace linker +# # CONFIG_CONNECTOR is not set + +# +# Memory Technology Devices (MTD) +# CONFIG_MTD=y # CONFIG_MTD_DEBUG is not set # CONFIG_MTD_CONCAT is not set @@ -372,7 +363,6 @@ CONFIG_MTD_REDBOOT_PARTS_READONLY=y # User Modules And Translation Layers # CONFIG_MTD_CHAR=y -CONFIG_MTD_BLKDEVS=y CONFIG_MTD_BLOCK=y # CONFIG_FTL is not set # CONFIG_NFTL is not set @@ -409,6 +399,7 @@ CONFIG_MTD_CFI_UTIL=y # CONFIG_MTD_RAM is not set # CONFIG_MTD_ROM is not set # CONFIG_MTD_ABSENT is not set +# CONFIG_MTD_OBSOLETE_CHIPS is not set # # Mapping drivers for chip access @@ -436,15 +427,29 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=1 # CONFIG_MTD_DOC2000 is not set # CONFIG_MTD_DOC2001 is not set # CONFIG_MTD_DOC2001PLUS is not set + +# +# NAND Flash Device Drivers +# # CONFIG_MTD_NAND is not set + +# +# OneNAND Flash Device Drivers +# # CONFIG_MTD_ONENAND is not set # -# UBI - Unsorted block images +# Parallel port support # -# CONFIG_MTD_UBI is not set # CONFIG_PARPORT is not set -CONFIG_BLK_DEV=y + +# +# Plug and Play support +# + +# +# Block devices +# # CONFIG_BLK_CPQ_DA is not set # CONFIG_BLK_CPQ_CISS_DA is not set # CONFIG_BLK_DEV_DAC960 is not set @@ -457,8 +462,13 @@ CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=8192 CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 +CONFIG_BLK_DEV_INITRD=y # CONFIG_CDROM_PKTCDVD is not set # CONFIG_ATA_OVER_ETH is not set + +# +# ATA/ATAPI/MFM/RLL support +# # CONFIG_IDE is not set # @@ -466,7 +476,6 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 # # CONFIG_RAID_ATTRS is not set CONFIG_SCSI=y -CONFIG_SCSI_DMA=y # CONFIG_SCSI_TGT is not set # CONFIG_SCSI_NETLINK is not set CONFIG_SCSI_PROC_FS=y @@ -488,7 +497,6 @@ CONFIG_CHR_DEV_SG=y # CONFIG_SCSI_CONSTANTS is not set # CONFIG_SCSI_LOGGING is not set # CONFIG_SCSI_SCAN_ASYNC is not set -CONFIG_SCSI_WAIT_SCAN=m # # SCSI Transports @@ -533,15 +541,22 @@ CONFIG_SCSI_WAIT_SCAN=m # CONFIG_SCSI_NSP32 is not set # CONFIG_SCSI_DEBUG is not set # CONFIG_SCSI_SRP is not set + +# +# Serial ATA (prod) and Parallel ATA (experimental) drivers +# # CONFIG_ATA is not set + +# +# Multi-device support (RAID and LVM) +# CONFIG_MD=y CONFIG_BLK_DEV_MD=y CONFIG_MD_LINEAR=y CONFIG_MD_RAID0=y CONFIG_MD_RAID1=y # CONFIG_MD_RAID10 is not set -CONFIG_MD_RAID456=y -# CONFIG_MD_RAID5_RESHAPE is not set +# CONFIG_MD_RAID456 is not set # CONFIG_MD_MULTIPATH is not set # CONFIG_MD_FAULTY is not set CONFIG_BLK_DEV_DM=y @@ -551,7 +566,6 @@ CONFIG_BLK_DEV_DM=y # CONFIG_DM_MIRROR is not set # CONFIG_DM_ZERO is not set # CONFIG_DM_MULTIPATH is not set -# CONFIG_DM_DELAY is not set # # Fusion MPT device support @@ -564,19 +578,39 @@ CONFIG_BLK_DEV_DM=y # # IEEE 1394 (FireWire) support # -# CONFIG_FIREWIRE is not set # CONFIG_IEEE1394 is not set + +# +# I2O device support +# # CONFIG_I2O is not set + +# +# Network device support +# CONFIG_NETDEVICES=y -# CONFIG_NETDEVICES_MULTIQUEUE is not set # CONFIG_DUMMY is not set # CONFIG_BONDING is not set -# CONFIG_MACVLAN is not set # CONFIG_EQUALIZER is not set # CONFIG_TUN is not set + +# +# ARCnet devices +# # CONFIG_ARCNET is not set + +# +# PHY device support +# + +# +# Ethernet (10 or 100Mbit) +# # CONFIG_NET_ETHERNET is not set -CONFIG_NETDEV_1000=y + +# +# Ethernet (1000 Mbit) +# # CONFIG_ACENIC is not set # CONFIG_DL2K is not set CONFIG_E1000=y @@ -589,26 +623,33 @@ CONFIG_E1000_NAPI=y # CONFIG_SIS190 is not set # CONFIG_SKGE is not set # CONFIG_SKY2 is not set -# CONFIG_VIA_VELOCITY is not set +# CONFIG_SK98LIN is not set # CONFIG_TIGON3 is not set # CONFIG_BNX2 is not set # CONFIG_QLA3XXX is not set -# CONFIG_ATL1 is not set -CONFIG_NETDEV_10000=y + +# +# Ethernet (10000 Mbit) +# # CONFIG_CHELSIO_T1 is not set -# CONFIG_CHELSIO_T3 is not set # CONFIG_IXGB is not set # CONFIG_S2IO is not set # CONFIG_MYRI10GE is not set # CONFIG_NETXEN_NIC is not set -# CONFIG_MLX4_CORE is not set + +# +# Token Ring devices +# # CONFIG_TR is not set # -# Wireless LAN +# Wireless LAN (non-hamradio) +# +# CONFIG_NET_RADIO is not set + +# +# Wan interfaces # -# CONFIG_WLAN_PRE80211 is not set -# CONFIG_WLAN_80211 is not set # CONFIG_WAN is not set # CONFIG_FDDI is not set # CONFIG_HIPPI is not set @@ -619,6 +660,10 @@ CONFIG_NETDEV_10000=y # CONFIG_NETCONSOLE is not set # CONFIG_NETPOLL is not set # CONFIG_NET_POLL_CONTROLLER is not set + +# +# ISDN subsystem +# # CONFIG_ISDN is not set # @@ -626,7 +671,6 @@ CONFIG_NETDEV_10000=y # CONFIG_INPUT=y # CONFIG_INPUT_FF_MEMLESS is not set -# CONFIG_INPUT_POLLDEV is not set # # Userland interfaces @@ -646,7 +690,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # CONFIG_INPUT_KEYBOARD is not set # CONFIG_INPUT_MOUSE is not set # CONFIG_INPUT_JOYSTICK is not set -# CONFIG_INPUT_TABLET is not set # CONFIG_INPUT_TOUCHSCREEN is not set # CONFIG_INPUT_MISC is not set @@ -684,18 +727,33 @@ CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_UNIX98_PTYS=y CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTY_COUNT=256 + +# +# IPMI +# # CONFIG_IPMI_HANDLER is not set + +# +# Watchdog Cards +# # CONFIG_WATCHDOG is not set CONFIG_HW_RANDOM=y # CONFIG_NVRAM is not set +# CONFIG_DTLK is not set # CONFIG_R3964 is not set # CONFIG_APPLICOM is not set # CONFIG_DRM is not set # CONFIG_RAW_DRIVER is not set + +# +# TPM devices +# # CONFIG_TCG_TPM is not set -CONFIG_DEVPORT=y + +# +# I2C support +# CONFIG_I2C=y -CONFIG_I2C_BOARDINFO=y CONFIG_I2C_CHARDEV=y # @@ -722,28 +780,25 @@ CONFIG_I2C_IOP3XX=y # CONFIG_I2C_PARPORT_LIGHT is not set # CONFIG_I2C_PROSAVAGE is not set # CONFIG_I2C_SAVAGE4 is not set -# CONFIG_I2C_SIMTEC is not set # CONFIG_I2C_SIS5595 is not set # CONFIG_I2C_SIS630 is not set # CONFIG_I2C_SIS96X is not set -# CONFIG_I2C_TAOS_EVM is not set # CONFIG_I2C_STUB is not set # CONFIG_I2C_VIA is not set # CONFIG_I2C_VIAPRO is not set # CONFIG_I2C_VOODOO3 is not set +# CONFIG_I2C_PCA_ISA is not set # # Miscellaneous I2C Chip support # # CONFIG_SENSORS_DS1337 is not set # CONFIG_SENSORS_DS1374 is not set -# CONFIG_DS1682 is not set # CONFIG_SENSORS_EEPROM is not set # CONFIG_SENSORS_PCF8574 is not set # CONFIG_SENSORS_PCA9539 is not set # CONFIG_SENSORS_PCF8591 is not set # CONFIG_SENSORS_MAX6875 is not set -# CONFIG_SENSORS_TSL2550 is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set @@ -754,15 +809,21 @@ CONFIG_I2C_IOP3XX=y # # CONFIG_SPI is not set # CONFIG_SPI_MASTER is not set + +# +# Dallas's 1-wire bus +# # CONFIG_W1 is not set + +# +# Hardware Monitoring support +# CONFIG_HWMON=y # CONFIG_HWMON_VID is not set # CONFIG_SENSORS_ABITUGURU is not set -# CONFIG_SENSORS_AD7418 is not set # CONFIG_SENSORS_ADM1021 is not set # CONFIG_SENSORS_ADM1025 is not set # CONFIG_SENSORS_ADM1026 is not set -# CONFIG_SENSORS_ADM1029 is not set # CONFIG_SENSORS_ADM1031 is not set # CONFIG_SENSORS_ADM9240 is not set # CONFIG_SENSORS_ASB100 is not set @@ -785,7 +846,6 @@ CONFIG_HWMON=y # CONFIG_SENSORS_LM90 is not set # CONFIG_SENSORS_LM92 is not set # CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_MAX6650 is not set # CONFIG_SENSORS_PC87360 is not set # CONFIG_SENSORS_PC87427 is not set # CONFIG_SENSORS_SIS5595 is not set @@ -803,16 +863,12 @@ CONFIG_HWMON=y # CONFIG_SENSORS_W83627HF is not set # CONFIG_SENSORS_W83627EHF is not set # CONFIG_HWMON_DEBUG_CHIP is not set -CONFIG_MISC_DEVICES=y -# CONFIG_PHANTOM is not set -# CONFIG_EEPROM_93CX6 is not set -# CONFIG_SGI_IOC4 is not set -# CONFIG_TIFM_CORE is not set # -# Multifunction device drivers +# Misc devices # -# CONFIG_MFD_SM501 is not set +# CONFIG_SGI_IOC4 is not set +# CONFIG_TIFM_CORE is not set # # LED devices @@ -831,19 +887,16 @@ CONFIG_MISC_DEVICES=y # Multimedia devices # # CONFIG_VIDEO_DEV is not set -# CONFIG_DVB_CORE is not set -CONFIG_DAB=y # -# Graphics support +# Digital Video Broadcasting Devices # -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_DVB is not set # -# Display device support +# Graphics support # -# CONFIG_DISPLAY_SUPPORT is not set -# CONFIG_VGASTATE is not set +CONFIG_FIRMWARE_EDID=y # CONFIG_FB is not set # @@ -851,15 +904,21 @@ CONFIG_DAB=y # # CONFIG_VGA_CONSOLE is not set CONFIG_DUMMY_CONSOLE=y +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set # # Sound # # CONFIG_SOUND is not set -CONFIG_HID_SUPPORT=y + +# +# HID Devices +# CONFIG_HID=y -# CONFIG_HID_DEBUG is not set -CONFIG_USB_SUPPORT=y + +# +# USB support +# CONFIG_USB_ARCH_HAS_HCD=y CONFIG_USB_ARCH_HAS_OHCI=y CONFIG_USB_ARCH_HAS_EHCI=y @@ -873,6 +932,10 @@ CONFIG_USB_ARCH_HAS_EHCI=y # USB Gadget Support # # CONFIG_USB_GADGET is not set + +# +# MMC/SD Card support +# # CONFIG_MMC is not set # @@ -881,22 +944,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y CONFIG_RTC_LIB=y # CONFIG_RTC_CLASS is not set -# -# DMA Engine support -# -CONFIG_DMA_ENGINE=y - -# -# DMA Clients -# -CONFIG_NET_DMA=y - -# -# DMA Devices -# -# CONFIG_INTEL_IOATDMA is not set -CONFIG_INTEL_IOP_ADMA=y - # # File systems # @@ -914,7 +961,11 @@ CONFIG_FS_MBCACHE=y # CONFIG_REISERFS_FS is not set # CONFIG_JFS_FS is not set # CONFIG_FS_POSIX_ACL is not set -# CONFIG_XFS_FS is not set +CONFIG_XFS_FS=y +# CONFIG_XFS_QUOTA is not set +CONFIG_XFS_SECURITY=y +CONFIG_XFS_POSIX_ACL=y +# CONFIG_XFS_RT is not set # CONFIG_GFS2_FS is not set # CONFIG_OCFS2_FS is not set # CONFIG_MINIX_FS is not set @@ -962,8 +1013,9 @@ CONFIG_RAMFS=y # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set +# CONFIG_JFFS_FS is not set # CONFIG_JFFS2_FS is not set -CONFIG_CRAMFS=y +# CONFIG_CRAMFS is not set # CONFIG_VXFS_FS is not set # CONFIG_HPFS_FS is not set # CONFIG_QNX4FS_FS is not set @@ -989,7 +1041,6 @@ CONFIG_LOCKD_V4=y CONFIG_EXPORTFS=y CONFIG_NFS_COMMON=y CONFIG_SUNRPC=y -# CONFIG_SUNRPC_BIND34 is not set # CONFIG_RPCSEC_GSS_KRB5 is not set # CONFIG_RPCSEC_GSS_SPKM3 is not set # CONFIG_SMB_FS is not set @@ -997,6 +1048,7 @@ CONFIG_SUNRPC=y # CONFIG_NCP_FS is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set +# CONFIG_9P_FS is not set # # Partition Types @@ -1018,7 +1070,6 @@ CONFIG_MSDOS_PARTITION=y # CONFIG_SUN_PARTITION is not set # CONFIG_KARMA_PARTITION is not set # CONFIG_EFI_PARTITION is not set -# CONFIG_SYSV68_PARTITION is not set # # Native Language Support @@ -1045,19 +1096,15 @@ CONFIG_MAGIC_SYSRQ=y # CONFIG_DEBUG_FS is not set # CONFIG_HEADERS_CHECK is not set CONFIG_DEBUG_KERNEL=y -# CONFIG_DEBUG_SHIRQ is not set +CONFIG_LOG_BUF_SHIFT=14 CONFIG_DETECT_SOFTLOCKUP=y -CONFIG_SCHED_DEBUG=y # CONFIG_SCHEDSTATS is not set -# CONFIG_TIMER_STATS is not set # CONFIG_DEBUG_SLAB is not set # CONFIG_DEBUG_RT_MUTEXES is not set # CONFIG_RT_MUTEX_TESTER is not set # CONFIG_DEBUG_SPINLOCK is not set # CONFIG_DEBUG_MUTEXES is not set -# CONFIG_DEBUG_LOCK_ALLOC is not set -# CONFIG_PROVE_LOCKING is not set -# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_RWSEMS is not set # CONFIG_DEBUG_SPINLOCK_SLEEP is not set # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set # CONFIG_DEBUG_KOBJECT is not set @@ -1068,7 +1115,6 @@ CONFIG_DEBUG_BUGVERBOSE=y CONFIG_FRAME_POINTER=y # CONFIG_FORCED_INLINING is not set # CONFIG_RCU_TORTURE_TEST is not set -# CONFIG_FAULT_INJECTION is not set CONFIG_DEBUG_USER=y # CONFIG_DEBUG_ERRORS is not set CONFIG_DEBUG_LL=y @@ -1079,10 +1125,10 @@ CONFIG_DEBUG_LL=y # # CONFIG_KEYS is not set # CONFIG_SECURITY is not set -CONFIG_XOR_BLOCKS=y -CONFIG_ASYNC_CORE=y -CONFIG_ASYNC_MEMCPY=y -CONFIG_ASYNC_XOR=y + +# +# Cryptographic options +# # CONFIG_CRYPTO is not set # @@ -1090,12 +1136,7 @@ CONFIG_ASYNC_XOR=y # # CONFIG_CRC_CCITT is not set # CONFIG_CRC16 is not set -# CONFIG_CRC_ITU_T is not set # CONFIG_CRC32 is not set -# CONFIG_CRC7 is not set # CONFIG_LIBCRC32C is not set -CONFIG_ZLIB_INFLATE=y CONFIG_PLIST=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y -CONFIG_HAS_DMA=y +CONFIG_IOMAP_COPY=y diff --git a/trunk/arch/arm/configs/rpc_defconfig b/trunk/arch/arm/configs/rpc_defconfig index 5ddecb9ddf01..8452dc8c7cc3 100644 --- a/trunk/arch/arm/configs/rpc_defconfig +++ b/trunk/arch/arm/configs/rpc_defconfig @@ -1,150 +1,87 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.23-rc2 -# Mon Aug 6 16:47:24 2007 +# Linux kernel version: 2.6.11 +# Wed Mar 9 14:41:48 2005 # CONFIG_ARM=y -CONFIG_SYS_SUPPORTS_APM_EMULATION=y -# CONFIG_GENERIC_GPIO is not set -# CONFIG_GENERIC_TIME is not set -# CONFIG_GENERIC_CLOCKEVENTS is not set CONFIG_MMU=y -CONFIG_NO_IOPORT=y -CONFIG_GENERIC_HARDIRQS=y -CONFIG_STACKTRACE_SUPPORT=y -CONFIG_LOCKDEP_SUPPORT=y -CONFIG_TRACE_IRQFLAGS_SUPPORT=y -CONFIG_HARDIRQS_SW_RESEND=y -CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_UID16=y CONFIG_RWSEM_GENERIC_SPINLOCK=y -# CONFIG_ARCH_HAS_ILOG2_U32 is not set -# CONFIG_ARCH_HAS_ILOG2_U64 is not set -CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_ARCH_MAY_HAVE_PC_FDC=y -CONFIG_ZONE_DMA=y +CONFIG_GENERIC_IOMAP=y CONFIG_FIQ=y -CONFIG_VECTORS_BASE=0xffff0000 -CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" # -# General setup +# Code maturity level options # CONFIG_EXPERIMENTAL=y +CONFIG_CLEAN_COMPILE=y CONFIG_BROKEN_ON_SMP=y -CONFIG_INIT_ENV_ARG_LIMIT=32 + +# +# General setup +# CONFIG_LOCALVERSION="" -# CONFIG_LOCALVERSION_AUTO is not set CONFIG_SWAP=y CONFIG_SYSVIPC=y -CONFIG_SYSVIPC_SYSCTL=y # CONFIG_POSIX_MQUEUE is not set # CONFIG_BSD_PROCESS_ACCT is not set -# CONFIG_TASKSTATS is not set -# CONFIG_USER_NS is not set +CONFIG_SYSCTL=y # CONFIG_AUDIT is not set -# CONFIG_IKCONFIG is not set CONFIG_LOG_BUF_SHIFT=14 -CONFIG_SYSFS_DEPRECATED=y -# CONFIG_RELAY is not set -CONFIG_BLK_DEV_INITRD=y -CONFIG_INITRAMFS_SOURCE="" -CONFIG_CC_OPTIMIZE_FOR_SIZE=y -CONFIG_SYSCTL=y +# CONFIG_HOTPLUG is not set +CONFIG_KOBJECT_UEVENT=y +# CONFIG_IKCONFIG is not set # CONFIG_EMBEDDED is not set -CONFIG_UID16=y -CONFIG_SYSCTL_SYSCALL=y CONFIG_KALLSYMS=y # CONFIG_KALLSYMS_ALL is not set # CONFIG_KALLSYMS_EXTRA_PASS is not set -CONFIG_HOTPLUG=y -CONFIG_PRINTK=y -CONFIG_BUG=y -CONFIG_ELF_CORE=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y -CONFIG_ANON_INODES=y CONFIG_EPOLL=y -CONFIG_SIGNALFD=y -CONFIG_TIMERFD=y -CONFIG_EVENTFD=y +CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_SHMEM=y -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_SLAB=y -# CONFIG_SLUB is not set -# CONFIG_SLOB is not set -CONFIG_RT_MUTEXES=y +CONFIG_CC_ALIGN_FUNCTIONS=0 +CONFIG_CC_ALIGN_LABELS=0 +CONFIG_CC_ALIGN_LOOPS=0 +CONFIG_CC_ALIGN_JUMPS=0 # CONFIG_TINY_SHMEM is not set CONFIG_BASE_SMALL=0 + +# +# Loadable module support +# CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y # CONFIG_MODULE_FORCE_UNLOAD is not set +CONFIG_OBSOLETE_MODPARM=y # CONFIG_MODVERSIONS is not set # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_KMOD=y -CONFIG_BLOCK=y -# CONFIG_LBD is not set -# CONFIG_BLK_DEV_IO_TRACE is not set -# CONFIG_LSF is not set -# CONFIG_BLK_DEV_BSG is not set - -# -# IO Schedulers -# -CONFIG_IOSCHED_NOOP=y -CONFIG_IOSCHED_AS=y -CONFIG_IOSCHED_DEADLINE=y -CONFIG_IOSCHED_CFQ=y -# CONFIG_DEFAULT_AS is not set -# CONFIG_DEFAULT_DEADLINE is not set -CONFIG_DEFAULT_CFQ=y -# CONFIG_DEFAULT_NOOP is not set -CONFIG_DEFAULT_IOSCHED="cfq" # # System Type # -# CONFIG_ARCH_AAEC2000 is not set -# CONFIG_ARCH_INTEGRATOR is not set -# CONFIG_ARCH_REALVIEW is not set -# CONFIG_ARCH_VERSATILE is not set -# CONFIG_ARCH_AT91 is not set # CONFIG_ARCH_CLPS7500 is not set # CONFIG_ARCH_CLPS711X is not set # CONFIG_ARCH_CO285 is not set # CONFIG_ARCH_EBSA110 is not set -# CONFIG_ARCH_EP93XX is not set # CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_NETX is not set -# CONFIG_ARCH_H720X is not set -# CONFIG_ARCH_IMX is not set -# CONFIG_ARCH_IOP13XX is not set -# CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set -# CONFIG_ARCH_IXP23XX is not set -# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_IOP3XX is not set # CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_IXP2000 is not set # CONFIG_ARCH_L7200 is not set -# CONFIG_ARCH_KS8695 is not set -# CONFIG_ARCH_NS9XXX is not set -# CONFIG_ARCH_MXC is not set -# CONFIG_ARCH_PNX4008 is not set # CONFIG_ARCH_PXA is not set CONFIG_ARCH_RPC=y # CONFIG_ARCH_SA1100 is not set # CONFIG_ARCH_S3C2410 is not set # CONFIG_ARCH_SHARK is not set # CONFIG_ARCH_LH7A40X is not set -# CONFIG_ARCH_DAVINCI is not set # CONFIG_ARCH_OMAP is not set - -# -# Boot options -# - -# -# Power management -# +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_H720X is not set CONFIG_ARCH_ACORN=y # @@ -163,49 +100,29 @@ CONFIG_CPU_COPY_V3=y CONFIG_CPU_COPY_V4WB=y CONFIG_CPU_TLB_V3=y CONFIG_CPU_TLB_V4WB=y -CONFIG_CPU_CP15=y -CONFIG_CPU_CP15_MMU=y # # Processor Features # -# CONFIG_CPU_DCACHE_DISABLE is not set -# CONFIG_OUTER_CACHE is not set CONFIG_TIMER_ACORN=y # # Bus support # -CONFIG_ISA_DMA_API=y -# CONFIG_PCI_SYSCALL is not set -# CONFIG_ARCH_SUPPORTS_MSI is not set # # PCCARD (PCMCIA/CardBus) support # # CONFIG_PCCARD is not set +# +# PC-card bridges +# + # # Kernel Features # -# CONFIG_TICK_ONESHOT is not set # CONFIG_PREEMPT is not set -# CONFIG_NO_IDLE_HZ is not set -CONFIG_HZ=100 -# CONFIG_AEABI is not set -# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set -CONFIG_SELECT_MEMORY_MODEL=y -CONFIG_FLATMEM_MANUAL=y -# CONFIG_DISCONTIGMEM_MANUAL is not set -# CONFIG_SPARSEMEM_MANUAL is not set -CONFIG_FLATMEM=y -CONFIG_FLAT_NODE_MEM_MAP=y -# CONFIG_SPARSEMEM_STATIC is not set -CONFIG_SPLIT_PTLOCK_CPUS=4096 -# CONFIG_RESOURCES_64BIT is not set -CONFIG_ZONE_DMA_FLAG=1 -CONFIG_BOUNCE=y -CONFIG_VIRT_TO_BUS=y CONFIG_ALIGNMENT_TRAP=y # @@ -215,7 +132,6 @@ CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 CONFIG_CMDLINE="" # CONFIG_XIP_KERNEL is not set -# CONFIG_KEXEC is not set # # Floating point emulation @@ -240,100 +156,6 @@ CONFIG_BINFMT_AOUT=y # # CONFIG_PM is not set -# -# Networking -# -CONFIG_NET=y - -# -# Networking options -# -CONFIG_PACKET=y -CONFIG_PACKET_MMAP=y -CONFIG_UNIX=y -# CONFIG_NET_KEY is not set -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -# CONFIG_IP_ADVANCED_ROUTER is not set -CONFIG_IP_FIB_HASH=y -# CONFIG_IP_PNP is not set -# CONFIG_NET_IPIP is not set -# CONFIG_NET_IPGRE is not set -# CONFIG_IP_MROUTE is not set -# CONFIG_ARPD is not set -# CONFIG_SYN_COOKIES is not set -# CONFIG_INET_AH is not set -# CONFIG_INET_ESP is not set -# CONFIG_INET_IPCOMP is not set -# CONFIG_INET_XFRM_TUNNEL is not set -CONFIG_INET_TUNNEL=m -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_BEET is not set -CONFIG_INET_DIAG=y -CONFIG_INET_TCP_DIAG=y -# CONFIG_TCP_CONG_ADVANCED is not set -CONFIG_TCP_CONG_CUBIC=y -CONFIG_DEFAULT_TCP_CONG="cubic" -# CONFIG_TCP_MD5SIG is not set -CONFIG_IPV6=m -# CONFIG_IPV6_PRIVACY is not set -# CONFIG_IPV6_ROUTER_PREF is not set -# CONFIG_IPV6_OPTIMISTIC_DAD is not set -# CONFIG_INET6_AH is not set -# CONFIG_INET6_ESP is not set -# CONFIG_INET6_IPCOMP is not set -# CONFIG_IPV6_MIP6 is not set -# CONFIG_INET6_XFRM_TUNNEL is not set -# CONFIG_INET6_TUNNEL is not set -# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET6_XFRM_MODE_TUNNEL is not set -# CONFIG_INET6_XFRM_MODE_BEET is not set -# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set -CONFIG_IPV6_SIT=m -# CONFIG_IPV6_TUNNEL is not set -# CONFIG_IPV6_MULTIPLE_TABLES is not set -# CONFIG_NETWORK_SECMARK is not set -# CONFIG_NETFILTER is not set -# CONFIG_IP_DCCP is not set -# CONFIG_IP_SCTP is not set -# CONFIG_TIPC is not set -# CONFIG_ATM is not set -# CONFIG_BRIDGE is not set -# CONFIG_VLAN_8021Q is not set -# CONFIG_DECNET is not set -# CONFIG_LLC2 is not set -# CONFIG_IPX is not set -# CONFIG_ATALK is not set -# CONFIG_X25 is not set -# CONFIG_LAPB is not set -# CONFIG_ECONET is not set -# CONFIG_WAN_ROUTER is not set - -# -# QoS and/or fair queueing -# -# CONFIG_NET_SCHED is not set - -# -# Network testing -# -# CONFIG_NET_PKTGEN is not set -# CONFIG_HAMRADIO is not set -# CONFIG_IRDA is not set -# CONFIG_BT is not set -# CONFIG_AF_RXRPC is not set - -# -# Wireless -# -# CONFIG_CFG80211 is not set -# CONFIG_WIRELESS_EXT is not set -# CONFIG_MAC80211 is not set -# CONFIG_IEEE80211 is not set -# CONFIG_RFKILL is not set -# CONFIG_NET_9P is not set - # # Device Drivers # @@ -345,18 +167,31 @@ CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y # CONFIG_FW_LOADER is not set # CONFIG_DEBUG_DRIVER is not set -# CONFIG_DEBUG_DEVRES is not set -# CONFIG_SYS_HYPERVISOR is not set -# CONFIG_CONNECTOR is not set + +# +# Memory Technology Devices (MTD) +# # CONFIG_MTD is not set + +# +# Parallel port support +# CONFIG_PARPORT=y CONFIG_PARPORT_PC=y +CONFIG_PARPORT_PC_CML1=y CONFIG_PARPORT_PC_FIFO=y # CONFIG_PARPORT_PC_SUPERIO is not set -# CONFIG_PARPORT_GSC is not set -# CONFIG_PARPORT_AX88796 is not set +# CONFIG_PARPORT_ARC is not set +# CONFIG_PARPORT_OTHER is not set # CONFIG_PARPORT_1284 is not set -CONFIG_BLK_DEV=y + +# +# Plug and Play support +# + +# +# Block devices +# CONFIG_BLK_DEV_FD=y # CONFIG_PARIDE is not set # CONFIG_BLK_DEV_COW_COMMON is not set @@ -366,19 +201,59 @@ CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=4096 -CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" # CONFIG_CDROM_PKTCDVD is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y # CONFIG_ATA_OVER_ETH is not set -# CONFIG_IDE is not set + +# +# Acorn-specific block devices +# + +# +# ATA/ATAPI/MFM/RLL support +# +CONFIG_IDE=y +CONFIG_BLK_DEV_IDE=y + +# +# Please see Documentation/ide.txt for help/info on IDE drives +# +# CONFIG_BLK_DEV_IDE_SATA is not set +CONFIG_BLK_DEV_IDEDISK=y +CONFIG_IDEDISK_MULTI_MODE=y +CONFIG_BLK_DEV_IDECD=y +# CONFIG_BLK_DEV_IDETAPE is not set +# CONFIG_BLK_DEV_IDEFLOPPY is not set +# CONFIG_BLK_DEV_IDESCSI is not set +# CONFIG_IDE_TASK_IOCTL is not set + +# +# IDE chipset support/bugfixes +# +CONFIG_IDE_GENERIC=y +CONFIG_IDE_ARM=y +CONFIG_BLK_DEV_IDE_ICSIDE=y +CONFIG_BLK_DEV_IDEDMA_ICS=y +CONFIG_IDEDMA_ICS_AUTO=y +CONFIG_BLK_DEV_IDE_RAPIDE=y +CONFIG_BLK_DEV_IDEDMA=y +# CONFIG_IDEDMA_IVB is not set +CONFIG_IDEDMA_AUTO=y +# CONFIG_BLK_DEV_HD is not set # # SCSI device support # -# CONFIG_RAID_ATTRS is not set CONFIG_SCSI=y -CONFIG_SCSI_DMA=y -# CONFIG_SCSI_TGT is not set -# CONFIG_SCSI_NETLINK is not set CONFIG_SCSI_PROC_FS=y # @@ -390,7 +265,6 @@ CONFIG_CHR_DEV_ST=m CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_CHR_DEV_SG=y -# CONFIG_CHR_DEV_SCH is not set # # Some SCSI devices (e.g. CD jukebox) support multiple LUNs @@ -398,23 +272,26 @@ CONFIG_CHR_DEV_SG=y # CONFIG_SCSI_MULTI_LUN is not set CONFIG_SCSI_CONSTANTS=y CONFIG_SCSI_LOGGING=y -# CONFIG_SCSI_SCAN_ASYNC is not set -CONFIG_SCSI_WAIT_SCAN=m # -# SCSI Transports +# SCSI Transport Attributes # -CONFIG_SCSI_SPI_ATTRS=m +# CONFIG_SCSI_SPI_ATTRS is not set # CONFIG_SCSI_FC_ATTRS is not set # CONFIG_SCSI_ISCSI_ATTRS is not set -# CONFIG_SCSI_SAS_LIBSAS is not set -CONFIG_SCSI_LOWLEVEL=y -# CONFIG_ISCSI_TCP is not set -# CONFIG_SCSI_PPA is not set -# CONFIG_SCSI_IMM is not set + +# +# SCSI low-level drivers +# +# CONFIG_SCSI_SATA is not set +CONFIG_SCSI_PPA=m +CONFIG_SCSI_IMM=m # CONFIG_SCSI_IZIP_EPP16 is not set # CONFIG_SCSI_IZIP_SLOW_CTR is not set # CONFIG_SCSI_DEBUG is not set +CONFIG_SCSI_ACORNSCSI_3=m +CONFIG_SCSI_ACORNSCSI_TAGGED_QUEUE=y +CONFIG_SCSI_ACORNSCSI_SYNC=y CONFIG_SCSI_ARXESCSI=m CONFIG_SCSI_CUMANA_2=m CONFIG_SCSI_EESOXSCSI=m @@ -425,36 +302,129 @@ CONFIG_SCSI_POWERTECSCSI=y # CONFIG_SCSI_CUMANA_1=m CONFIG_SCSI_OAK1=m -CONFIG_ATA=y -# CONFIG_ATA_NONSTANDARD is not set -CONFIG_PATA_PLATFORM=y -CONFIG_PATA_ICSIDE=y + +# +# Multi-device support (RAID and LVM) +# # CONFIG_MD is not set + +# +# Fusion MPT device support +# + +# +# IEEE 1394 (FireWire) support +# + +# +# I2O device support +# + +# +# Networking support +# +CONFIG_NET=y + +# +# Networking options +# +# CONFIG_PACKET is not set +CONFIG_NETLINK_DEV=y +CONFIG_UNIX=y +# CONFIG_NET_KEY is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +# CONFIG_IP_ADVANCED_ROUTER is not set +# CONFIG_IP_PNP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE is not set +# CONFIG_IP_MROUTE is not set +# CONFIG_ARPD is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_TUNNEL is not set +# CONFIG_IP_TCPDIAG is not set +# CONFIG_IP_TCPDIAG_IPV6 is not set +CONFIG_IPV6=m +# CONFIG_IPV6_PRIVACY is not set +# CONFIG_INET6_AH is not set +# CONFIG_INET6_ESP is not set +# CONFIG_INET6_IPCOMP is not set +# CONFIG_INET6_TUNNEL is not set +# CONFIG_IPV6_TUNNEL is not set +# CONFIG_NETFILTER is not set + +# +# SCTP Configuration (EXPERIMENTAL) +# +# CONFIG_IP_SCTP is not set +# CONFIG_ATM is not set +# CONFIG_BRIDGE is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_NET_DIVERT is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set + +# +# QoS and/or fair queueing +# +# CONFIG_NET_SCHED is not set +# CONFIG_NET_CLS_ROUTE is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +# CONFIG_HAMRADIO is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set CONFIG_NETDEVICES=y -# CONFIG_NETDEVICES_MULTIQUEUE is not set # CONFIG_DUMMY is not set # CONFIG_BONDING is not set -# CONFIG_MACVLAN is not set # CONFIG_EQUALIZER is not set # CONFIG_TUN is not set -# CONFIG_PHYLIB is not set +# CONFIG_ETHERTAP is not set + +# +# Ethernet (10 or 100Mbit) +# CONFIG_NET_ETHERNET=y # CONFIG_MII is not set CONFIG_ARM_ETHER1=y CONFIG_ARM_ETHER3=y CONFIG_ARM_ETHERH=y -# CONFIG_AX88796 is not set # CONFIG_SMC91X is not set -# CONFIG_DM9000 is not set -# CONFIG_NET_POCKET is not set -# CONFIG_NETDEV_1000 is not set -# CONFIG_NETDEV_10000 is not set # -# Wireless LAN +# Ethernet (1000 Mbit) +# + +# +# Ethernet (10000 Mbit) +# + +# +# Token Ring devices +# + +# +# Wireless LAN (non-hamradio) +# +# CONFIG_NET_RADIO is not set + +# +# Wan interfaces # -# CONFIG_WLAN_PRE80211 is not set -# CONFIG_WLAN_80211 is not set # CONFIG_WAN is not set # CONFIG_PLIP is not set CONFIG_PPP=m @@ -464,23 +434,20 @@ CONFIG_PPP=m # CONFIG_PPP_SYNC_TTY is not set # CONFIG_PPP_DEFLATE is not set # CONFIG_PPP_BSDCOMP is not set -# CONFIG_PPP_MPPE is not set CONFIG_PPPOE=m -# CONFIG_PPPOL2TP is not set # CONFIG_SLIP is not set -CONFIG_SLHC=m # CONFIG_SHAPER is not set # CONFIG_NETCONSOLE is not set -# CONFIG_NETPOLL is not set -# CONFIG_NET_POLL_CONTROLLER is not set + +# +# ISDN subsystem +# # CONFIG_ISDN is not set # # Input device support # CONFIG_INPUT=y -# CONFIG_INPUT_FF_MEMLESS is not set -# CONFIG_INPUT_POLLDEV is not set # # Userland interfaces @@ -494,6 +461,19 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_EVDEV=y # CONFIG_INPUT_EVBUG is not set +# +# Input I/O drivers +# +# CONFIG_GAMEPORT is not set +CONFIG_SOUND_GAMEPORT=y +CONFIG_SERIO=y +# CONFIG_SERIO_SERPORT is not set +# CONFIG_SERIO_CT82C710 is not set +# CONFIG_SERIO_PARKBD is not set +CONFIG_SERIO_RPCKBD=y +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set + # # Input Device Drivers # @@ -503,35 +483,21 @@ CONFIG_KEYBOARD_ATKBD=y # CONFIG_KEYBOARD_LKKBD is not set # CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_NEWTON is not set -# CONFIG_KEYBOARD_STOWAWAY is not set CONFIG_INPUT_MOUSE=y # CONFIG_MOUSE_PS2 is not set # CONFIG_MOUSE_SERIAL is not set CONFIG_MOUSE_RISCPC=y # CONFIG_MOUSE_VSXXXAA is not set # CONFIG_INPUT_JOYSTICK is not set -# CONFIG_INPUT_TABLET is not set # CONFIG_INPUT_TOUCHSCREEN is not set # CONFIG_INPUT_MISC is not set -# -# Hardware I/O ports -# -CONFIG_SERIO=y -# CONFIG_SERIO_SERPORT is not set -# CONFIG_SERIO_PARKBD is not set -CONFIG_SERIO_RPCKBD=y -CONFIG_SERIO_LIBPS2=y -# CONFIG_SERIO_RAW is not set -# CONFIG_GAMEPORT is not set - # # Character devices # CONFIG_VT=y CONFIG_VT_CONSOLE=y CONFIG_HW_CONSOLE=y -# CONFIG_VT_HW_CONSOLE_BINDING is not set # CONFIG_SERIAL_NONSTANDARD is not set # @@ -540,13 +506,12 @@ CONFIG_HW_CONSOLE=y CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_NR_UARTS=16 -CONFIG_SERIAL_8250_RUNTIME_UARTS=8 # CONFIG_SERIAL_8250_EXTENDED is not set -CONFIG_SERIAL_8250_ACORN=y # # Non-8250 serial port support # +CONFIG_SERIAL_8250_ACORN=y CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_UNIX98_PTYS=y @@ -556,15 +521,31 @@ CONFIG_PRINTER=m # CONFIG_LP_CONSOLE is not set # CONFIG_PPDEV is not set # CONFIG_TIPAR is not set + +# +# IPMI +# # CONFIG_IPMI_HANDLER is not set + +# +# Watchdog Cards +# # CONFIG_WATCHDOG is not set -# CONFIG_HW_RANDOM is not set # CONFIG_NVRAM is not set +# CONFIG_RTC is not set +# CONFIG_DTLK is not set # CONFIG_R3964 is not set + +# +# Ftape, the floppy tape device driver +# +# CONFIG_DRM is not set # CONFIG_RAW_DRIVER is not set -# CONFIG_TCG_TPM is not set + +# +# I2C support +# CONFIG_I2C=y -CONFIG_I2C_BOARDINFO=y CONFIG_I2C_CHARDEV=y # @@ -577,87 +558,76 @@ CONFIG_I2C_ALGOBIT=y # # I2C Hardware Bus support # -# CONFIG_I2C_OCORES is not set # CONFIG_I2C_PARPORT is not set # CONFIG_I2C_PARPORT_LIGHT is not set -# CONFIG_I2C_SIMTEC is not set -# CONFIG_I2C_TAOS_EVM is not set # CONFIG_I2C_STUB is not set -CONFIG_I2C_ACORN=y - -# -# Miscellaneous I2C Chip support +# CONFIG_I2C_PCA_ISA is not set + +# +# Hardware Sensors Chip support +# +# CONFIG_I2C_SENSOR is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ASB100 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_FSCHER is not set +# CONFIG_SENSORS_FSCPOS is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83627HF is not set + +# +# Other I2C Chip support # -# CONFIG_SENSORS_DS1337 is not set -# CONFIG_SENSORS_DS1374 is not set -# CONFIG_DS1682 is not set # CONFIG_SENSORS_EEPROM is not set # CONFIG_SENSORS_PCF8574 is not set -# CONFIG_SENSORS_PCA9539 is not set # CONFIG_SENSORS_PCF8591 is not set -# CONFIG_SENSORS_MAX6875 is not set -# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_RTC8564 is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set # CONFIG_I2C_DEBUG_CHIP is not set # -# SPI support +# Misc devices # -# CONFIG_SPI is not set -# CONFIG_SPI_MASTER is not set -# CONFIG_W1 is not set -# CONFIG_HWMON is not set -CONFIG_MISC_DEVICES=y -# CONFIG_EEPROM_93CX6 is not set - -# -# Multifunction device drivers -# -# CONFIG_MFD_SM501 is not set -# CONFIG_NEW_LEDS is not set # # Multimedia devices # # CONFIG_VIDEO_DEV is not set -# CONFIG_DVB_CORE is not set -# CONFIG_DAB is not set # -# Graphics support +# Digital Video Broadcasting Devices # -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_DVB is not set # -# Display device support +# Graphics support # -# CONFIG_DISPLAY_SUPPORT is not set -# CONFIG_VGASTATE is not set -# CONFIG_VIDEO_OUTPUT_CONTROL is not set CONFIG_FB=y -# CONFIG_FIRMWARE_EDID is not set -# CONFIG_FB_DDC is not set -CONFIG_FB_CFB_FILLRECT=y -CONFIG_FB_CFB_COPYAREA=y -CONFIG_FB_CFB_IMAGEBLIT=y -# CONFIG_FB_SYS_FILLRECT is not set -# CONFIG_FB_SYS_COPYAREA is not set -# CONFIG_FB_SYS_IMAGEBLIT is not set -# CONFIG_FB_SYS_FOPS is not set -CONFIG_FB_DEFERRED_IO=y -# CONFIG_FB_SVGALIB is not set -# CONFIG_FB_MACMODES is not set -# CONFIG_FB_BACKLIGHT is not set # CONFIG_FB_MODE_HELPERS is not set # CONFIG_FB_TILEBLITTING is not set - -# -# Frame buffer hardware drivers -# CONFIG_FB_ACORN=y -# CONFIG_FB_S1D13XXX is not set # CONFIG_FB_VIRTUAL is not set # @@ -665,23 +635,24 @@ CONFIG_FB_ACORN=y # CONFIG_DUMMY_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE=y -# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set -# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set CONFIG_FONTS=y # CONFIG_FONT_8x8 is not set CONFIG_FONT_8x16=y # CONFIG_FONT_6x11 is not set -# CONFIG_FONT_7x14 is not set # CONFIG_FONT_PEARL_8x8 is not set CONFIG_FONT_ACORN_8x8=y # CONFIG_FONT_MINI_4x6 is not set # CONFIG_FONT_SUN8x16 is not set # CONFIG_FONT_SUN12x22 is not set -# CONFIG_FONT_10x18 is not set + +# +# Logo configuration +# CONFIG_LOGO=y CONFIG_LOGO_LINUX_MONO=y CONFIG_LOGO_LINUX_VGA16=y CONFIG_LOGO_LINUX_CLUT224=y +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set # # Sound @@ -697,115 +668,91 @@ CONFIG_SOUND=m # Open Sound System # CONFIG_SOUND_PRIME=m +# CONFIG_SOUND_BT878 is not set +# CONFIG_SOUND_FUSION is not set +# CONFIG_SOUND_CS4281 is not set +# CONFIG_SOUND_SONICVIBES is not set +# CONFIG_SOUND_TRIDENT is not set # CONFIG_SOUND_MSNDCLAS is not set # CONFIG_SOUND_MSNDPIN is not set CONFIG_SOUND_OSS=m # CONFIG_SOUND_TRACEINIT is not set # CONFIG_SOUND_DMAP is not set +# CONFIG_SOUND_AD1816 is not set +# CONFIG_SOUND_AD1889 is not set +# CONFIG_SOUND_SGALAXY is not set +# CONFIG_SOUND_ADLIB is not set +# CONFIG_SOUND_ACI_MIXER is not set +# CONFIG_SOUND_CS4232 is not set # CONFIG_SOUND_SSCAPE is not set +# CONFIG_SOUND_GUS is not set # CONFIG_SOUND_VMIDI is not set # CONFIG_SOUND_TRIX is not set # CONFIG_SOUND_MSS is not set # CONFIG_SOUND_MPU401 is not set +# CONFIG_SOUND_NM256 is not set +# CONFIG_SOUND_MAD16 is not set # CONFIG_SOUND_PAS is not set # CONFIG_SOUND_PSS is not set # CONFIG_SOUND_SB is not set +# CONFIG_SOUND_AWE32_SYNTH is not set +# CONFIG_SOUND_WAVEFRONT is not set +# CONFIG_SOUND_MAUI is not set # CONFIG_SOUND_YM3812 is not set +# CONFIG_SOUND_OPL3SA1 is not set +# CONFIG_SOUND_OPL3SA2 is not set # CONFIG_SOUND_UART6850 is not set # CONFIG_SOUND_AEDSP16 is not set CONFIG_SOUND_VIDC=m -# CONFIG_HID_SUPPORT is not set -# CONFIG_USB_SUPPORT is not set -# CONFIG_MMC is not set -CONFIG_RTC_LIB=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_HCTOSYS=y -CONFIG_RTC_HCTOSYS_DEVICE="rtc0" -# CONFIG_RTC_DEBUG is not set - -# -# RTC interfaces -# -CONFIG_RTC_INTF_SYSFS=y -CONFIG_RTC_INTF_PROC=y -CONFIG_RTC_INTF_DEV=y -# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set -# CONFIG_RTC_DRV_TEST is not set - -# -# I2C RTC drivers -# -# CONFIG_RTC_DRV_DS1307 is not set -# CONFIG_RTC_DRV_DS1672 is not set -# CONFIG_RTC_DRV_MAX6900 is not set -# CONFIG_RTC_DRV_RS5C372 is not set -# CONFIG_RTC_DRV_ISL1208 is not set -# CONFIG_RTC_DRV_X1205 is not set -# CONFIG_RTC_DRV_PCF8563 is not set -CONFIG_RTC_DRV_PCF8583=y -# CONFIG_RTC_DRV_M41T80 is not set - -# -# SPI RTC drivers -# - -# -# Platform RTC drivers -# -# CONFIG_RTC_DRV_CMOS is not set -# CONFIG_RTC_DRV_DS1553 is not set -# CONFIG_RTC_DRV_STK17TA8 is not set -# CONFIG_RTC_DRV_DS1742 is not set -# CONFIG_RTC_DRV_M48T86 is not set -# CONFIG_RTC_DRV_M48T59 is not set -# CONFIG_RTC_DRV_V3020 is not set +# CONFIG_SOUND_TVMIXER is not set +# CONFIG_SOUND_AD1980 is not set # -# on-CPU RTC drivers +# USB support # +# CONFIG_USB is not set +CONFIG_USB_ARCH_HAS_HCD=y +# CONFIG_USB_ARCH_HAS_OHCI is not set # -# DMA Engine support +# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information # -# CONFIG_DMA_ENGINE is not set # -# DMA Clients +# USB Gadget Support # +# CONFIG_USB_GADGET is not set # -# DMA Devices +# MMC/SD Card support # +# CONFIG_MMC is not set # # File systems # CONFIG_EXT2_FS=y # CONFIG_EXT2_FS_XATTR is not set -# CONFIG_EXT2_FS_XIP is not set CONFIG_EXT3_FS=y CONFIG_EXT3_FS_XATTR=y # CONFIG_EXT3_FS_POSIX_ACL is not set # CONFIG_EXT3_FS_SECURITY is not set -# CONFIG_EXT4DEV_FS is not set CONFIG_JBD=y # CONFIG_JBD_DEBUG is not set CONFIG_FS_MBCACHE=y # CONFIG_REISERFS_FS is not set # CONFIG_JFS_FS is not set -# CONFIG_FS_POSIX_ACL is not set + +# +# XFS support +# # CONFIG_XFS_FS is not set -# CONFIG_GFS2_FS is not set -# CONFIG_OCFS2_FS is not set # CONFIG_MINIX_FS is not set # CONFIG_ROMFS_FS is not set -CONFIG_INOTIFY=y -CONFIG_INOTIFY_USER=y # CONFIG_QUOTA is not set CONFIG_DNOTIFY=y # CONFIG_AUTOFS_FS is not set CONFIG_AUTOFS4_FS=m -# CONFIG_FUSE_FS is not set # # CD-ROM/DVD Filesystems @@ -829,12 +776,12 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" # Pseudo filesystems # CONFIG_PROC_FS=y -CONFIG_PROC_SYSCTL=y CONFIG_SYSFS=y +# CONFIG_DEVFS_FS is not set +# CONFIG_DEVPTS_FS_XATTR is not set # CONFIG_TMPFS is not set # CONFIG_HUGETLB_PAGE is not set CONFIG_RAMFS=y -# CONFIG_CONFIGFS_FS is not set # # Miscellaneous filesystems @@ -863,9 +810,7 @@ CONFIG_NFS_FS=y # CONFIG_NFS_DIRECTIO is not set # CONFIG_NFSD is not set CONFIG_LOCKD=y -CONFIG_NFS_COMMON=y CONFIG_SUNRPC=y -# CONFIG_SUNRPC_BIND34 is not set # CONFIG_RPCSEC_GSS_KRB5 is not set # CONFIG_RPCSEC_GSS_SPKM3 is not set # CONFIG_SMB_FS is not set @@ -885,22 +830,20 @@ CONFIG_ACORN_PARTITION_ICS=y CONFIG_ACORN_PARTITION_ADFS=y CONFIG_ACORN_PARTITION_POWERTEC=y CONFIG_ACORN_PARTITION_RISCIX=y -# CONFIG_OSF_PARTITION is not set -# CONFIG_AMIGA_PARTITION is not set +CONFIG_OSF_PARTITION=y +CONFIG_AMIGA_PARTITION=y # CONFIG_ATARI_PARTITION is not set -# CONFIG_MAC_PARTITION is not set +CONFIG_MAC_PARTITION=y CONFIG_MSDOS_PARTITION=y CONFIG_BSD_DISKLABEL=y # CONFIG_MINIX_SUBPARTITION is not set -# CONFIG_SOLARIS_X86_PARTITION is not set +CONFIG_SOLARIS_X86_PARTITION=y # CONFIG_UNIXWARE_DISKLABEL is not set # CONFIG_LDM_PARTITION is not set -# CONFIG_SGI_PARTITION is not set +CONFIG_SGI_PARTITION=y # CONFIG_ULTRIX_PARTITION is not set -# CONFIG_SUN_PARTITION is not set -# CONFIG_KARMA_PARTITION is not set +CONFIG_SUN_PARTITION=y # CONFIG_EFI_PARTITION is not set -# CONFIG_SYSV68_PARTITION is not set # # Native Language Support @@ -946,11 +889,6 @@ CONFIG_NLS_KOI8_R=m # CONFIG_NLS_KOI8_U is not set # CONFIG_NLS_UTF8 is not set -# -# Distributed Lock Manager -# -# CONFIG_DLM is not set - # # Profiling support # @@ -959,37 +897,17 @@ CONFIG_NLS_KOI8_R=m # # Kernel hacking # -# CONFIG_PRINTK_TIME is not set -CONFIG_ENABLE_MUST_CHECK=y -CONFIG_MAGIC_SYSRQ=y -# CONFIG_UNUSED_SYMBOLS is not set -# CONFIG_DEBUG_FS is not set -# CONFIG_HEADERS_CHECK is not set CONFIG_DEBUG_KERNEL=y -# CONFIG_DEBUG_SHIRQ is not set -CONFIG_DETECT_SOFTLOCKUP=y -CONFIG_SCHED_DEBUG=y +CONFIG_MAGIC_SYSRQ=y +# CONFIG_PRINTK_TIME is not set # CONFIG_SCHEDSTATS is not set -# CONFIG_TIMER_STATS is not set # CONFIG_DEBUG_SLAB is not set -# CONFIG_DEBUG_RT_MUTEXES is not set -# CONFIG_RT_MUTEX_TESTER is not set # CONFIG_DEBUG_SPINLOCK is not set -# CONFIG_DEBUG_MUTEXES is not set -# CONFIG_DEBUG_LOCK_ALLOC is not set -# CONFIG_PROVE_LOCKING is not set -# CONFIG_LOCK_STAT is not set -# CONFIG_DEBUG_SPINLOCK_SLEEP is not set -# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set # CONFIG_DEBUG_KOBJECT is not set CONFIG_DEBUG_BUGVERBOSE=y # CONFIG_DEBUG_INFO is not set -# CONFIG_DEBUG_VM is not set -# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_FS is not set CONFIG_FRAME_POINTER=y -CONFIG_FORCED_INLINING=y -# CONFIG_RCU_TORTURE_TEST is not set -# CONFIG_FAULT_INJECTION is not set CONFIG_DEBUG_USER=y CONFIG_DEBUG_ERRORS=y CONFIG_DEBUG_LL=y @@ -1000,18 +918,19 @@ CONFIG_DEBUG_LL=y # # CONFIG_KEYS is not set # CONFIG_SECURITY is not set + +# +# Cryptographic options +# # CONFIG_CRYPTO is not set +# +# Hardware crypto devices +# + # # Library routines # -CONFIG_BITREVERSE=y # CONFIG_CRC_CCITT is not set -# CONFIG_CRC16 is not set -# CONFIG_CRC_ITU_T is not set CONFIG_CRC32=y -# CONFIG_CRC7 is not set # CONFIG_LIBCRC32C is not set -CONFIG_PLIST=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_DMA=y diff --git a/trunk/arch/arm/kernel/entry-common.S b/trunk/arch/arm/kernel/entry-common.S index 33e6cc2ffd3b..c589dc3ecd1a 100644 --- a/trunk/arch/arm/kernel/entry-common.S +++ b/trunk/arch/arm/kernel/entry-common.S @@ -46,7 +46,7 @@ fast_work_pending: work_pending: tst r1, #_TIF_NEED_RESCHED bne work_resched - tst r1, #_TIF_SIGPENDING + tst r1, #_TIF_NOTIFY_RESUME | _TIF_SIGPENDING beq no_work_pending mov r0, sp @ 'regs' mov r2, why @ 'syscall' diff --git a/trunk/arch/arm/kernel/setup.c b/trunk/arch/arm/kernel/setup.c index 4de432ec903a..5be2e987b843 100644 --- a/trunk/arch/arm/kernel/setup.c +++ b/trunk/arch/arm/kernel/setup.c @@ -23,7 +23,6 @@ #include #include #include -#include #include #include diff --git a/trunk/arch/arm/kernel/smp.c b/trunk/arch/arm/kernel/smp.c index eafbb2b05eb8..1b76d87fa335 100644 --- a/trunk/arch/arm/kernel/smp.c +++ b/trunk/arch/arm/kernel/smp.c @@ -17,7 +17,6 @@ #include #include #include -#include #include #include #include @@ -631,7 +630,7 @@ void smp_send_stop(void) /* * not supported here */ -int setup_profiling_timer(unsigned int multiplier) +int __init setup_profiling_timer(unsigned int multiplier) { return -EINVAL; } diff --git a/trunk/arch/arm/kernel/traps.c b/trunk/arch/arm/kernel/traps.c index 8ad47619c079..f2114bcf09d5 100644 --- a/trunk/arch/arm/kernel/traps.c +++ b/trunk/arch/arm/kernel/traps.c @@ -352,8 +352,10 @@ asmlinkage void __exception do_undefinstr(struct pt_regs *regs) asmlinkage void do_unexp_fiq (struct pt_regs *regs) { +#ifndef CONFIG_IGNORE_FIQ printk("Hmm. Unexpected FIQ received, but trying to continue\n"); printk("You may have a hardware problem...\n"); +#endif } /* diff --git a/trunk/arch/arm/mach-at91/at91sam9261_devices.c b/trunk/arch/arm/mach-at91/at91sam9261_devices.c index 3576595b4941..9db58da04754 100644 --- a/trunk/arch/arm/mach-at91/at91sam9261_devices.c +++ b/trunk/arch/arm/mach-at91/at91sam9261_devices.c @@ -15,8 +15,6 @@ #include -#include