]> nv-tegra.nvidia Code Review - linux-2.6.git/commitdiff
Merge Linux 2.6.23
authorDavid Woodhouse <dwmw2@infradead.org>
Sat, 13 Oct 2007 13:43:54 +0000 (14:43 +0100)
committerDavid Woodhouse <dwmw2@infradead.org>
Sat, 13 Oct 2007 13:43:54 +0000 (14:43 +0100)
1054 files changed:
Documentation/00-INDEX
Documentation/DocBook/deviceiobook.tmpl
Documentation/HOWTO
Documentation/ManagementStyle
Documentation/SubmittingPatches
Documentation/crypto/async-tx-api.txt [new file with mode: 0644]
Documentation/devices.txt
Documentation/feature-removal-schedule.txt
Documentation/filesystems/00-INDEX
Documentation/filesystems/9p.txt
Documentation/filesystems/ocfs2.txt
Documentation/i2c/busses/i2c-piix4
Documentation/input/iforce-protocol.txt
Documentation/kernel-parameters.txt
Documentation/ko_KR/HOWTO [new file with mode: 0644]
Documentation/lguest/lguest.c
Documentation/lockstat.txt [new file with mode: 0644]
Documentation/networking/00-INDEX
Documentation/networking/multiqueue.txt
Documentation/networking/sk98lin.txt [new file with mode: 0644]
Documentation/sysrq.txt
Documentation/thinkpad-acpi.txt
Documentation/video4linux/cx2341x/fw-encoder-api.txt
MAINTAINERS
Makefile
arch/arm/Kconfig
arch/arm/kernel/bios32.c
arch/arm/mach-ep93xx/core.c
arch/arm/mach-imx/generic.c
arch/arm/mach-omap1/board-h3.c
arch/arm/mach-omap1/leds-osk.c
arch/arm/mach-omap1/pm.c
arch/arm/mach-omap2/clock.c
arch/arm/mach-omap2/serial.c
arch/arm/mach-pxa/irq.c
arch/arm/mach-realview/realview_eb.c
arch/arm/mach-s3c2440/mach-osiris.c
arch/arm/mm/cache-l2x0.c
arch/arm/plat-omap/common.c
arch/arm/plat-omap/dmtimer.c
arch/arm/plat-omap/timer32k.c
arch/arm/vfp/vfpmodule.c
arch/blackfin/kernel/bfin_gpio.c
arch/blackfin/mach-common/entry.S
arch/blackfin/mach-common/pm.c
arch/h8300/Kconfig.debug
arch/i386/boot/boot.h
arch/i386/boot/cpucheck.c
arch/i386/boot/edd.c
arch/i386/boot/header.S
arch/i386/boot/memory.c
arch/i386/boot/pm.c
arch/i386/boot/tty.c
arch/i386/boot/video-vesa.c
arch/i386/boot/video-vga.c
arch/i386/boot/video.c
arch/i386/kernel/acpi/wakeup.S
arch/i386/kernel/alternative.c
arch/i386/kernel/cpu/cpufreq/longhaul.c
arch/i386/kernel/cpu/intel_cacheinfo.c
arch/i386/kernel/cpu/perfctr-watchdog.c
arch/i386/kernel/io_apic.c
arch/i386/kernel/nmi.c
arch/i386/kernel/ptrace.c
arch/i386/kernel/traps.c
arch/i386/kernel/tsc.c
arch/i386/mach-generic/Makefile
arch/i386/mach-voyager/Makefile
arch/i386/mm/highmem.c
arch/i386/mm/hugetlbpage.c
arch/i386/pci/irq.c
arch/i386/pci/pcbios.c
arch/i386/xen/enlighten.c
arch/i386/xen/mmu.c
arch/ia64/hp/sim/hpsim_console.c
arch/ia64/hp/sim/hpsim_setup.c
arch/ia64/hp/sim/simeth.c
arch/ia64/hp/sim/simscsi.c
arch/ia64/kernel/irq_ia64.c
arch/ia64/kernel/ptrace.c
arch/ia64/kernel/setup.c
arch/ia64/kernel/smpboot.c
arch/ia64/mm/contig.c
arch/ia64/mm/discontig.c
arch/ia64/mm/hugetlbpage.c
arch/ia64/sn/kernel/huberror.c
arch/ia64/sn/kernel/irq.c
arch/ia64/sn/kernel/sn2/sn2_smp.c
arch/ia64/sn/kernel/sn2/sn_hwperf.c
arch/ia64/sn/pci/pcibr/pcibr_provider.c
arch/ia64/sn/pci/tioca_provider.c
arch/ia64/sn/pci/tioce_provider.c
arch/m32r/Kconfig
arch/m32r/Makefile
arch/m32r/configs/m32104ut_defconfig [moved from arch/m32r/m32104ut/defconfig.m32104ut with 87% similarity]
arch/m32r/configs/m32700ut.smp_defconfig [moved from arch/m32r/m32700ut/defconfig.m32700ut.smp with 85% similarity]
arch/m32r/configs/m32700ut.up_defconfig [moved from arch/m32r/m32700ut/defconfig.m32700ut.up with 85% similarity]
arch/m32r/configs/mappi.nommu_defconfig [moved from arch/m32r/mappi/defconfig.nommu with 86% similarity]
arch/m32r/configs/mappi.smp_defconfig [moved from arch/m32r/mappi/defconfig.smp with 87% similarity]
arch/m32r/configs/mappi.up_defconfig [moved from arch/m32r/mappi/defconfig.up with 87% similarity]
arch/m32r/configs/mappi2.opsp_defconfig [moved from arch/m32r/mappi2/defconfig.opsp with 86% similarity]
arch/m32r/configs/mappi2.vdec2_defconfig [moved from arch/m32r/mappi2/defconfig.vdec2 with 86% similarity]
arch/m32r/configs/mappi3.smp_defconfig [moved from arch/m32r/mappi3/defconfig.smp with 87% similarity]
arch/m32r/configs/oaks32r_defconfig [moved from arch/m32r/oaks32r/defconfig.nommu with 85% similarity]
arch/m32r/configs/opsput_defconfig [moved from arch/m32r/opsput/defconfig.opsput with 85% similarity]
arch/m32r/configs/usrv_defconfig [new file with mode: 0644]
arch/m32r/defconfig
arch/m32r/kernel/Makefile
arch/m32r/kernel/entry.S
arch/m32r/kernel/syscall_table.S [new file with mode: 0644]
arch/m32r/platforms/Makefile [new file with mode: 0644]
arch/m32r/platforms/m32104ut/Makefile [new file with mode: 0644]
arch/m32r/platforms/m32104ut/io.c [moved from arch/m32r/kernel/io_m32104ut.c with 99% similarity]
arch/m32r/platforms/m32104ut/setup.c [moved from arch/m32r/kernel/setup_m32104ut.c with 98% similarity]
arch/m32r/platforms/m32700ut/Makefile [new file with mode: 0644]
arch/m32r/platforms/m32700ut/dot.gdbinit_200MHz_16MB [moved from arch/m32r/m32700ut/dot.gdbinit_200MHz_16MB with 100% similarity]
arch/m32r/platforms/m32700ut/dot.gdbinit_300MHz_32MB [moved from arch/m32r/m32700ut/dot.gdbinit_300MHz_32MB with 100% similarity]
arch/m32r/platforms/m32700ut/dot.gdbinit_400MHz_32MB [moved from arch/m32r/m32700ut/dot.gdbinit_400MHz_32MB with 100% similarity]
arch/m32r/platforms/m32700ut/io.c [moved from arch/m32r/kernel/io_m32700ut.c with 99% similarity]
arch/m32r/platforms/m32700ut/setup.c [moved from arch/m32r/kernel/setup_m32700ut.c with 99% similarity]
arch/m32r/platforms/mappi/Makefile [new file with mode: 0644]
arch/m32r/platforms/mappi/dot.gdbinit [moved from arch/m32r/mappi/dot.gdbinit with 100% similarity]
arch/m32r/platforms/mappi/dot.gdbinit.nommu [moved from arch/m32r/mappi/dot.gdbinit.nommu with 100% similarity]
arch/m32r/platforms/mappi/dot.gdbinit.smp [moved from arch/m32r/mappi/dot.gdbinit.smp with 100% similarity]
arch/m32r/platforms/mappi/io.c [moved from arch/m32r/kernel/io_mappi.c with 99% similarity]
arch/m32r/platforms/mappi/setup.c [moved from arch/m32r/kernel/setup_mappi.c with 99% similarity]
arch/m32r/platforms/mappi2/Makefile [new file with mode: 0644]
arch/m32r/platforms/mappi2/dot.gdbinit.vdec2 [moved from arch/m32r/mappi2/dot.gdbinit.vdec2 with 100% similarity]
arch/m32r/platforms/mappi2/io.c [moved from arch/m32r/kernel/io_mappi2.c with 99% similarity]
arch/m32r/platforms/mappi2/setup.c [moved from arch/m32r/kernel/setup_mappi2.c with 99% similarity]
arch/m32r/platforms/mappi3/Makefile [new file with mode: 0644]
arch/m32r/platforms/mappi3/dot.gdbinit [moved from arch/m32r/mappi3/dot.gdbinit with 100% similarity]
arch/m32r/platforms/mappi3/io.c [moved from arch/m32r/kernel/io_mappi3.c with 99% similarity]
arch/m32r/platforms/mappi3/setup.c [moved from arch/m32r/kernel/setup_mappi3.c with 99% similarity]
arch/m32r/platforms/oaks32r/Makefile [new file with mode: 0644]
arch/m32r/platforms/oaks32r/dot.gdbinit.nommu [moved from arch/m32r/oaks32r/dot.gdbinit.nommu with 100% similarity]
arch/m32r/platforms/oaks32r/io.c [moved from arch/m32r/kernel/io_oaks32r.c with 99% similarity]
arch/m32r/platforms/oaks32r/setup.c [moved from arch/m32r/kernel/setup_oaks32r.c with 98% similarity]
arch/m32r/platforms/opsput/Makefile [new file with mode: 0644]
arch/m32r/platforms/opsput/dot.gdbinit [moved from arch/m32r/opsput/dot.gdbinit with 100% similarity]
arch/m32r/platforms/opsput/io.c [moved from arch/m32r/kernel/io_opsput.c with 99% similarity]
arch/m32r/platforms/opsput/setup.c [moved from arch/m32r/kernel/setup_opsput.c with 99% similarity]
arch/m32r/platforms/usrv/Makefile [new file with mode: 0644]
arch/m32r/platforms/usrv/io.c [moved from arch/m32r/kernel/io_usrv.c with 98% similarity]
arch/m32r/platforms/usrv/setup.c [moved from arch/m32r/kernel/setup_usrv.c with 98% similarity]
arch/m68k/kernel/entry.S
arch/m68k/kernel/ptrace.c
arch/m68knommu/kernel/process.c
arch/m68knommu/kernel/sys_m68k.c
arch/m68knommu/kernel/syscalltable.S
arch/mips/Kconfig
arch/mips/au1000/Kconfig
arch/mips/au1000/common/gpio.c
arch/mips/au1000/common/pci.c
arch/mips/au1000/mtx-1/board_setup.c
arch/mips/au1000/pb1000/board_setup.c
arch/mips/au1000/pb1100/board_setup.c
arch/mips/au1000/pb1500/board_setup.c
arch/mips/configs/bigsur_defconfig
arch/mips/configs/capcella_defconfig
arch/mips/configs/cobalt_defconfig
arch/mips/configs/e55_defconfig
arch/mips/configs/ip22_defconfig
arch/mips/configs/ip27_defconfig
arch/mips/configs/jmr3927_defconfig
arch/mips/configs/malta_defconfig
arch/mips/configs/mpc30x_defconfig
arch/mips/configs/rbhma4200_defconfig
arch/mips/configs/rbhma4500_defconfig
arch/mips/configs/sb1250-swarm_defconfig
arch/mips/configs/tb0219_defconfig
arch/mips/configs/tb0226_defconfig
arch/mips/configs/tb0287_defconfig
arch/mips/configs/workpad_defconfig
arch/mips/dec/setup.c
arch/mips/defconfig
arch/mips/jmr3927/rbhma3100/irq.c
arch/mips/jmr3927/rbhma3100/setup.c
arch/mips/kernel/Makefile
arch/mips/kernel/asm-offsets.c
arch/mips/kernel/cpu-bugs64.c
arch/mips/kernel/cpu-probe.c
arch/mips/kernel/i8259.c
arch/mips/kernel/irixsig.c
arch/mips/kernel/irq-msc01.c
arch/mips/kernel/irq.c
arch/mips/kernel/irq_txx9.c [new file with mode: 0644]
arch/mips/kernel/machine_kexec.c
arch/mips/kernel/mips-mt.c
arch/mips/kernel/rtlx.c
arch/mips/kernel/scall64-n32.S
arch/mips/kernel/scall64-o32.S
arch/mips/kernel/smp-mt.c
arch/mips/kernel/smtc.c
arch/mips/kernel/time.c
arch/mips/kernel/traps.c
arch/mips/kernel/vmlinux.lds.S
arch/mips/lib/Makefile
arch/mips/lib/cmpdi2.c [new file with mode: 0644]
arch/mips/mips-boards/malta/malta_int.c
arch/mips/mips-boards/malta/malta_smtc.c
arch/mips/mips-boards/sim/sim_int.c [deleted file]
arch/mips/mipssim/sim_smp.c
arch/mips/mm/dma-default.c
arch/mips/mm/init.c
arch/mips/mm/pg-r4k.c
arch/mips/mm/tlbex.c
arch/mips/pci/ops-mace.c
arch/mips/pci/pci.c
arch/mips/philips/pnx8550/common/Kconfig [deleted file]
arch/mips/pmc-sierra/yosemite/smp.c
arch/mips/qemu/q-smp.c
arch/mips/sgi-ip22/ip22-mc.c
arch/mips/sgi-ip22/ip22-platform.c
arch/mips/sgi-ip22/ip22-setup.c
arch/mips/sgi-ip22/ip22-time.c
arch/mips/sgi-ip27/ip27-irq.c
arch/mips/sgi-ip27/ip27-smp.c
arch/mips/sgi-ip32/ip32-platform.c
arch/mips/sibyte/Kconfig
arch/mips/sibyte/bcm1480/irq.c
arch/mips/sibyte/bcm1480/setup.c
arch/mips/sibyte/cfe/console.c
arch/mips/sibyte/cfe/smp.c
arch/mips/sibyte/sb1250/irq.c
arch/mips/sni/pcimt_scache.c [deleted file]
arch/mips/sni/reset.c
arch/mips/sni/setup.c
arch/mips/tx4927/common/Makefile
arch/mips/tx4927/common/tx4927_irq.c
arch/mips/tx4927/toshiba_rbtx4927/Makefile
arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_irq.c
arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_setup.c
arch/mips/tx4938/common/Makefile
arch/mips/tx4938/common/irq.c
arch/mips/tx4938/toshiba_rbtx4938/Makefile
arch/mips/tx4938/toshiba_rbtx4938/irq.c
arch/mips/tx4938/toshiba_rbtx4938/setup.c
arch/parisc/kernel/sys_parisc32.c
arch/parisc/kernel/syscall_table.S
arch/parisc/kernel/vmlinux.lds.S
arch/powerpc/boot/dts/mpc8349emitx.dts
arch/powerpc/configs/cell_defconfig
arch/powerpc/configs/celleb_defconfig
arch/powerpc/configs/chrp32_defconfig
arch/powerpc/configs/ebony_defconfig
arch/powerpc/configs/g5_defconfig
arch/powerpc/configs/holly_defconfig
arch/powerpc/configs/iseries_defconfig
arch/powerpc/configs/linkstation_defconfig
arch/powerpc/configs/lite5200_defconfig
arch/powerpc/configs/maple_defconfig
arch/powerpc/configs/mpc7448_hpc2_defconfig
arch/powerpc/configs/mpc8272_ads_defconfig
arch/powerpc/configs/mpc8313_rdb_defconfig
arch/powerpc/configs/mpc832x_mds_defconfig
arch/powerpc/configs/mpc832x_rdb_defconfig
arch/powerpc/configs/mpc834x_itx_defconfig
arch/powerpc/configs/mpc834x_itxgp_defconfig
arch/powerpc/configs/mpc834x_mds_defconfig
arch/powerpc/configs/mpc836x_mds_defconfig
arch/powerpc/configs/mpc8540_ads_defconfig
arch/powerpc/configs/mpc8544_ds_defconfig
arch/powerpc/configs/mpc8560_ads_defconfig
arch/powerpc/configs/mpc8568mds_defconfig
arch/powerpc/configs/mpc85xx_cds_defconfig
arch/powerpc/configs/mpc8641_hpcn_defconfig
arch/powerpc/configs/mpc866_ads_defconfig
arch/powerpc/configs/mpc885_ads_defconfig
arch/powerpc/configs/pasemi_defconfig
arch/powerpc/configs/pmac32_defconfig
arch/powerpc/configs/ppc64_defconfig
arch/powerpc/configs/prpmc2800_defconfig
arch/powerpc/configs/pseries_defconfig
arch/powerpc/kernel/ibmebus.c
arch/powerpc/kernel/legacy_serial.c
arch/powerpc/kernel/process.c
arch/powerpc/kernel/time.c
arch/powerpc/kernel/vdso.c
arch/powerpc/mm/slb.c
arch/powerpc/platforms/83xx/usb.c
arch/powerpc/platforms/85xx/mpc8544_ds.c
arch/powerpc/platforms/85xx/mpc85xx_cds.c
arch/powerpc/platforms/85xx/mpc85xx_mds.c
arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
arch/powerpc/platforms/Kconfig
arch/powerpc/platforms/cell/cbe_regs.h
arch/powerpc/platforms/cell/cbe_thermal.c
arch/powerpc/platforms/cell/pervasive.c
arch/powerpc/platforms/cell/spu_base.c
arch/powerpc/platforms/cell/spu_manage.c
arch/powerpc/platforms/cell/spufs/backing_ops.c
arch/powerpc/platforms/cell/spufs/file.c
arch/powerpc/platforms/cell/spufs/run.c
arch/powerpc/platforms/cell/spufs/sched.c
arch/powerpc/platforms/pasemi/iommu.c
arch/powerpc/platforms/ps3/platform.h
arch/powerpc/platforms/ps3/repository.c
arch/powerpc/platforms/ps3/setup.c
arch/powerpc/platforms/ps3/spu.c
arch/powerpc/platforms/pseries/xics.c
arch/powerpc/sysdev/axonram.c
arch/powerpc/sysdev/commproc.c
arch/powerpc/sysdev/cpm2_common.c
arch/ppc/8xx_io/commproc.c
arch/ppc/kernel/head_8xx.S
arch/sh/Makefile
arch/sh/kernel/cpu/sh4/setup-sh4-202.c
arch/sparc/kernel/ebus.c
arch/sparc/lib/Makefile
arch/sparc/lib/cmpdi2.c [new file with mode: 0644]
arch/sparc/lib/libgcc.h [new file with mode: 0644]
arch/sparc/prom/console.c
arch/sparc64/defconfig
arch/sparc64/kernel/binfmt_aout32.c
arch/sparc64/kernel/ebus.c
arch/sparc64/kernel/head.S
arch/sparc64/kernel/irq.c
arch/sparc64/kernel/mdesc.c
arch/sparc64/kernel/pci.c
arch/sparc64/kernel/pci_common.c
arch/sparc64/kernel/pci_sun4v.c
arch/sparc64/kernel/prom.c
arch/sparc64/kernel/smp.c
arch/sparc64/kernel/trampoline.S
arch/sparc64/kernel/vio.c
arch/sparc64/lib/NGcopy_from_user.S
arch/sparc64/lib/NGcopy_to_user.S
arch/sparc64/lib/NGmemcpy.S
arch/sparc64/mm/hugetlbpage.c
arch/sparc64/prom/misc.c
arch/um/include/kern_util.h
arch/um/kernel/dyn.lds.S
arch/um/kernel/irq.c
arch/um/kernel/uml.lds.S
arch/um/os-Linux/file.c
arch/um/os-Linux/signal.c
arch/um/os-Linux/sys-x86_64/registers.c
arch/um/sys-x86_64/ptrace.c
arch/x86_64/Kconfig
arch/x86_64/defconfig
arch/x86_64/ia32/ia32entry.S
arch/x86_64/kernel/acpi/wakeup.S
arch/x86_64/kernel/io_apic.c
arch/x86_64/kernel/process.c
arch/x86_64/kernel/ptrace.c
arch/x86_64/kernel/smp.c
arch/x86_64/mm/fault.c
arch/x86_64/vdso/vclock_gettime.c
arch/x86_64/vdso/voffset.h
arch/xtensa/Makefile
arch/xtensa/kernel/Makefile
arch/xtensa/kernel/asm-offsets.c
arch/xtensa/kernel/entry.S
arch/xtensa/kernel/init_task.c [new file with mode: 0644]
arch/xtensa/kernel/io.c [new file with mode: 0644]
arch/xtensa/kernel/module.c
arch/xtensa/kernel/pci.c
arch/xtensa/kernel/process.c
arch/xtensa/kernel/semaphore.c
arch/xtensa/kernel/syscall.c
arch/xtensa/kernel/time.c
arch/xtensa/kernel/traps.c
arch/xtensa/mm/Makefile
arch/xtensa/mm/cache.c [new file with mode: 0644]
arch/xtensa/mm/fault.c
arch/xtensa/mm/init.c
arch/xtensa/mm/misc.S
arch/xtensa/platform-iss/console.c
block/ll_rw_blk.c
crypto/async_tx/async_tx.c
crypto/blkcipher.c
drivers/acpi/Kconfig
drivers/acpi/ac.c
drivers/acpi/asus_acpi.c
drivers/acpi/battery.c
drivers/acpi/bus.c
drivers/acpi/button.c
drivers/acpi/ec.c
drivers/acpi/event.c
drivers/acpi/hardware/hwsleep.c
drivers/acpi/namespace/nsxfeval.c
drivers/acpi/processor_core.c
drivers/acpi/processor_idle.c
drivers/acpi/sbs.c
drivers/acpi/scan.c
drivers/acpi/sleep/Makefile
drivers/acpi/sleep/main.c
drivers/acpi/sleep/poweroff.c [deleted file]
drivers/acpi/sleep/proc.c
drivers/acpi/tables/tbutils.c
drivers/acpi/thermal.c
drivers/acpi/utilities/utglobal.c
drivers/acpi/video.c
drivers/ata/ahci.c
drivers/ata/ata_generic.c
drivers/ata/ata_piix.c
drivers/ata/libata-core.c
drivers/ata/libata-sff.c
drivers/ata/pata_ali.c
drivers/ata/pata_amd.c
drivers/ata/pata_atiixp.c
drivers/ata/pata_cs5520.c
drivers/ata/pata_cs5530.c
drivers/ata/pata_isapnp.c
drivers/ata/pata_it821x.c
drivers/ata/pata_ixp4xx_cf.c
drivers/ata/pata_marvell.c
drivers/ata/pata_mpc52xx.c
drivers/ata/pata_pcmcia.c
drivers/ata/pata_pdc2027x.c
drivers/ata/pata_platform.c
drivers/ata/pata_sc1200.c
drivers/ata/pata_scc.c
drivers/ata/pata_serverworks.c
drivers/ata/pata_sil680.c
drivers/ata/pata_sis.c
drivers/ata/pata_sl82c105.c
drivers/ata/pata_via.c
drivers/ata/pdc_adma.c
drivers/ata/sata_inic162x.c
drivers/ata/sata_mv.c
drivers/ata/sata_nv.c
drivers/ata/sata_promise.c
drivers/ata/sata_qstor.c
drivers/ata/sata_sil.c
drivers/ata/sata_sil24.c
drivers/ata/sata_sis.c
drivers/ata/sata_svw.c
drivers/ata/sata_sx4.c
drivers/ata/sata_uli.c
drivers/ata/sata_via.c
drivers/ata/sata_vsc.c
drivers/base/core.c
drivers/block/DAC960.c
drivers/block/DAC960.h
drivers/block/sunvdc.c
drivers/bluetooth/hci_usb.c
drivers/cdrom/cdrom.c
drivers/char/Makefile
drivers/char/agp/agp.h
drivers/char/agp/amd-k7-agp.c
drivers/char/agp/ati-agp.c
drivers/char/agp/efficeon-agp.c
drivers/char/agp/hp-agp.c
drivers/char/agp/i460-agp.c
drivers/char/agp/intel-agp.c
drivers/char/agp/nvidia-agp.c
drivers/char/agp/via-agp.c
drivers/char/drm/drm_bufs.c
drivers/char/drm/i915_drv.h
drivers/char/drm/i915_irq.c
drivers/char/drm/via_dmablit.c
drivers/char/hpet.c
drivers/char/ipmi/ipmi_si_intf.c
drivers/char/lcd.c
drivers/char/mspec.c
drivers/char/random.c
drivers/char/sonypi.c
drivers/char/tty_io.c
drivers/char/tty_ioctl.c
drivers/char/vt_ioctl.c
drivers/dma/ioatdma.c
drivers/edac/e752x_edac.c
drivers/edac/edac_core.h
drivers/firewire/Kconfig
drivers/firewire/fw-card.c
drivers/firewire/fw-ohci.c
drivers/firewire/fw-sbp2.c
drivers/hwmon/lm78.c
drivers/hwmon/w83781d.c
drivers/i2c/algos/i2c-algo-bit.c
drivers/i2c/busses/Kconfig
drivers/i2c/busses/i2c-gpio.c
drivers/i2c/busses/i2c-piix4.c
drivers/i2c/busses/i2c-pxa.c
drivers/ide/Kconfig
drivers/ide/ide-disk.c
drivers/ide/ide-iops.c
drivers/ide/pci/alim15x3.c
drivers/ide/pci/hpt366.c
drivers/ide/pci/pdc202xx_new.c
drivers/ide/pci/via82cxxx.c
drivers/ide/ppc/mpc8xx.c
drivers/ide/ppc/pmac.c
drivers/ide/setup-pci.c
drivers/ieee1394/ieee1394_core.c
drivers/ieee1394/ohci1394.c
drivers/ieee1394/sbp2.c
drivers/infiniband/hw/cxgb3/cxio_hal.c
drivers/infiniband/hw/ehca/ehca_hca.c
drivers/infiniband/hw/ehca/ehca_irq.c
drivers/infiniband/hw/ehca/ehca_qp.c
drivers/infiniband/hw/ehca/ipz_pt_fn.c
drivers/infiniband/hw/mlx4/qp.c
drivers/input/joystick/Kconfig
drivers/input/joystick/iforce/iforce-packets.c
drivers/input/keyboard/gpio_keys.c
drivers/input/mouse/appletouch.c
drivers/input/mouse/touchkit_ps2.h
drivers/input/serio/gscps2.c
drivers/input/serio/i8042-x86ia64io.h
drivers/input/serio/i8042.c
drivers/input/touchscreen/usbtouchscreen.c
drivers/isdn/i4l/isdn_bsdcomp.c
drivers/isdn/i4l/isdn_common.c
drivers/kvm/Kconfig
drivers/kvm/kvm.h
drivers/kvm/mmu.c
drivers/lguest/Kconfig
drivers/lguest/interrupts_and_traps.c
drivers/lguest/lguest.c
drivers/lguest/lguest_asm.S
drivers/macintosh/adb.c
drivers/macintosh/via-pmu.c
drivers/md/Kconfig
drivers/md/dm-bio-list.h
drivers/md/dm-mpath-rdac.c
drivers/md/raid5.c
drivers/media/dvb/b2c2/flexcop-i2c.c
drivers/media/dvb/dvb-core/dvb_net.c
drivers/media/video/cx88/cx88-mpeg.c
drivers/media/video/em28xx/em28xx-video.c
drivers/media/video/ivtv/ivtv-fileops.c
drivers/media/video/ivtv/ivtv-ioctl.c
drivers/media/video/pwc/pwc-if.c
drivers/media/video/pwc/pwc.h
drivers/media/video/saa7134/saa7134-cards.c
drivers/media/video/saa7191.c
drivers/media/video/usbvision/usbvision-cards.c
drivers/media/video/usbvision/usbvision-video.c
drivers/misc/Kconfig
drivers/misc/asus-laptop.c
drivers/misc/msi-laptop.c
drivers/misc/sony-laptop.c
drivers/misc/thinkpad_acpi.c
drivers/misc/thinkpad_acpi.h
drivers/mmc/core/bus.c
drivers/mmc/core/host.c
drivers/mmc/host/at91_mci.c
drivers/mmc/host/sdhci.c
drivers/mmc/host/sdhci.h
drivers/mtd/mtdsuper.c
drivers/net/Kconfig
drivers/net/Makefile
drivers/net/atl1/atl1_main.c
drivers/net/bnx2.c
drivers/net/bsd_comp.c
drivers/net/cxgb3/adapter.h
drivers/net/cxgb3/common.h
drivers/net/cxgb3/cxgb3_main.c
drivers/net/cxgb3/cxgb3_offload.c
drivers/net/cxgb3/cxgb3_offload.h
drivers/net/cxgb3/sge.c
drivers/net/cxgb3/t3_hw.c
drivers/net/cxgb3/t3cdev.h
drivers/net/dm9000.c
drivers/net/e1000/e1000_ethtool.c
drivers/net/e1000/e1000_hw.c
drivers/net/e1000/e1000_hw.h
drivers/net/e1000/e1000_main.c
drivers/net/ehea/ehea.h
drivers/net/ehea/ehea_main.c
drivers/net/ehea/ehea_qmr.c
drivers/net/eql.c
drivers/net/forcedeth.c
drivers/net/ioc3-eth.c
drivers/net/irda/kingsun-sir.c
drivers/net/meth.c
drivers/net/mv643xx_eth.c
drivers/net/mv643xx_eth.h
drivers/net/myri10ge/myri10ge.c
drivers/net/netxen/netxen_nic_hdr.h
drivers/net/netxen/netxen_nic_hw.c
drivers/net/netxen/netxen_nic_main.c
drivers/net/phy/phy.c
drivers/net/phy/phy_device.c
drivers/net/ppp_generic.c
drivers/net/ppp_mppe.c
drivers/net/pppoe.c
drivers/net/pppol2tp.c
drivers/net/ps3_gelic_net.c
drivers/net/qla3xxx.c
drivers/net/r8169.c
drivers/net/sgiseeq.c
drivers/net/sk98lin/Makefile [new file with mode: 0644]
drivers/net/sk98lin/h/lm80.h [new file with mode: 0644]
drivers/net/sk98lin/h/skaddr.h [new file with mode: 0644]
drivers/net/sk98lin/h/skcsum.h [new file with mode: 0644]
drivers/net/sk98lin/h/skdebug.h [new file with mode: 0644]
drivers/net/sk98lin/h/skdrv1st.h [new file with mode: 0644]
drivers/net/sk98lin/h/skdrv2nd.h [new file with mode: 0644]
drivers/net/sk98lin/h/skerror.h [new file with mode: 0644]
drivers/net/sk98lin/h/skgedrv.h [new file with mode: 0644]
drivers/net/sk98lin/h/skgehw.h [new file with mode: 0644]
drivers/net/sk98lin/h/skgehwt.h [new file with mode: 0644]
drivers/net/sk98lin/h/skgei2c.h [new file with mode: 0644]
drivers/net/sk98lin/h/skgeinit.h [new file with mode: 0644]
drivers/net/sk98lin/h/skgepnm2.h [new file with mode: 0644]
drivers/net/sk98lin/h/skgepnmi.h [new file with mode: 0644]
drivers/net/sk98lin/h/skgesirq.h [new file with mode: 0644]
drivers/net/sk98lin/h/ski2c.h [new file with mode: 0644]
drivers/net/sk98lin/h/skqueue.h [new file with mode: 0644]
drivers/net/sk98lin/h/skrlmt.h [new file with mode: 0644]
drivers/net/sk98lin/h/sktimer.h [new file with mode: 0644]
drivers/net/sk98lin/h/sktypes.h [new file with mode: 0644]
drivers/net/sk98lin/h/skversion.h [new file with mode: 0644]
drivers/net/sk98lin/h/skvpd.h [new file with mode: 0644]
drivers/net/sk98lin/h/xmac_ii.h [new file with mode: 0644]
drivers/net/sk98lin/skaddr.c [new file with mode: 0644]
drivers/net/sk98lin/skdim.c [new file with mode: 0644]
drivers/net/sk98lin/skethtool.c [new file with mode: 0644]
drivers/net/sk98lin/skge.c [new file with mode: 0644]
drivers/net/sk98lin/skgehwt.c [new file with mode: 0644]
drivers/net/sk98lin/skgeinit.c [new file with mode: 0644]
drivers/net/sk98lin/skgemib.c [new file with mode: 0644]
drivers/net/sk98lin/skgepnmi.c [new file with mode: 0644]
drivers/net/sk98lin/skgesirq.c [new file with mode: 0644]
drivers/net/sk98lin/ski2c.c [new file with mode: 0644]
drivers/net/sk98lin/sklm80.c [new file with mode: 0644]
drivers/net/sk98lin/skqueue.c [new file with mode: 0644]
drivers/net/sk98lin/skrlmt.c [new file with mode: 0644]
drivers/net/sk98lin/sktimer.c [new file with mode: 0644]
drivers/net/sk98lin/skvpd.c [new file with mode: 0644]
drivers/net/sk98lin/skxmac2.c [new file with mode: 0644]
drivers/net/sky2.c
drivers/net/sky2.h
drivers/net/slip.c
drivers/net/spider_net.c
drivers/net/tg3.c
drivers/net/ucc_geth.c
drivers/net/usb/dm9601.c
drivers/net/wireless/Makefile
drivers/net/wireless/bcm43xx/bcm43xx_main.c
drivers/net/wireless/bcm43xx/bcm43xx_main.h
drivers/net/wireless/bcm43xx/bcm43xx_sysfs.c
drivers/net/wireless/bcm43xx/bcm43xx_wx.c
drivers/pci/hotplug/acpiphp_ibm.c
drivers/pci/hotplug/cpqphp_ctrl.c
drivers/pci/pci.h
drivers/pci/probe.c
drivers/pci/quirks.c
drivers/pnp/card.c
drivers/pnp/core.c
drivers/pnp/driver.c
drivers/pnp/interface.c
drivers/pnp/isapnp/core.c
drivers/pnp/isapnp/proc.c
drivers/pnp/manager.c
drivers/pnp/pnpacpi/core.c
drivers/pnp/pnpacpi/rsparser.c
drivers/pnp/pnpbios/core.c
drivers/pnp/pnpbios/proc.c
drivers/pnp/pnpbios/rsparser.c
drivers/pnp/quirks.c
drivers/pnp/resource.c
drivers/power/power_supply_sysfs.c
drivers/rtc/rtc-ds1553.c
drivers/rtc/rtc-ds1742.c
drivers/rtc/rtc-rs5c348.c
drivers/rtc/rtc-v3020.c
drivers/s390/net/qeth.h
drivers/s390/net/qeth_main.c
drivers/s390/net/qeth_mpc.h
drivers/s390/net/qeth_sys.c
drivers/s390/scsi/zfcp_aux.c
drivers/s390/scsi/zfcp_qdio.c
drivers/s390/scsi/zfcp_scsi.c
drivers/scsi/aic94xx/aic94xx_task.c
drivers/scsi/esp_scsi.c
drivers/scsi/libiscsi.c
drivers/scsi/megaraid.c
drivers/scsi/qla2xxx/qla_dbg.c
drivers/scsi/qla2xxx/qla_def.h
drivers/scsi/qla2xxx/qla_gs.c
drivers/scsi/qla2xxx/qla_init.c
drivers/scsi/qla2xxx/qla_isr.c
drivers/scsi/qla2xxx/qla_os.c
drivers/scsi/qla2xxx/qla_version.h
drivers/scsi/scsi_transport_spi.c
drivers/serial/8250_pci.c
drivers/serial/Kconfig
drivers/serial/cpm_uart/cpm_uart_cpm1.h
drivers/serial/sb1250-duart.c
drivers/serial/serial_cs.c
drivers/serial/sunsab.c
drivers/serial/sunsu.c
drivers/serial/sunzilog.c
drivers/spi/atmel_spi.c
drivers/spi/spi_bfin5xx.c
drivers/spi/spi_imx.c
drivers/spi/spi_mpc83xx.c
drivers/spi/spi_s3c24xx.c
drivers/spi/spi_s3c24xx_gpio.c
drivers/spi/spi_txx9.c
drivers/spi/xilinx_spi.c
drivers/usb/Kconfig
drivers/usb/atm/cxacru.c
drivers/usb/atm/ueagle-atm.c
drivers/usb/class/cdc-acm.c
drivers/usb/core/driver.c
drivers/usb/core/hub.c
drivers/usb/core/message.c
drivers/usb/core/quirks.c
drivers/usb/gadget/dummy_hcd.c
drivers/usb/gadget/file_storage.c
drivers/usb/gadget/fsl_usb2_udc.c
drivers/usb/gadget/pxa2xx_udc.c
drivers/usb/gadget/serial.c
drivers/usb/host/Kconfig
drivers/usb/host/ehci-au1xxx.c
drivers/usb/host/ehci-ppc-soc.c
drivers/usb/host/ohci-dbg.c
drivers/usb/host/r8a66597-hcd.c
drivers/usb/host/u132-hcd.c
drivers/usb/misc/sisusbvga/sisusb.c
drivers/usb/serial/airprime.c
drivers/usb/serial/belkin_sa.c
drivers/usb/serial/bus.c
drivers/usb/serial/ftdi_sio.c
drivers/usb/serial/ftdi_sio.h
drivers/usb/serial/garmin_gps.c
drivers/usb/serial/ipaq.c
drivers/usb/serial/option.c
drivers/usb/serial/oti6858.c
drivers/usb/serial/safe_serial.c
drivers/usb/serial/visor.c
drivers/usb/serial/visor.h
drivers/usb/storage/scsiglue.c
drivers/usb/storage/unusual_devs.h
drivers/usb/storage/usb.c
drivers/usb/storage/usb.h
drivers/video/aty/ati_ids.h
drivers/video/aty/radeon_base.c
drivers/video/bw2.c
drivers/video/cg3.c
drivers/video/console/Kconfig
drivers/video/console/sticore.c
drivers/video/intelfb/intelfbhw.c
drivers/w1/w1.c
fs/9p/fid.c
fs/9p/fid.h
fs/Kconfig
fs/afs/mntpt.c
fs/aio.c
fs/binfmt_flat.c
fs/compat_ioctl.c
fs/ecryptfs/inode.c
fs/ecryptfs/mmap.c
fs/exec.c
fs/ext3/namei.c
fs/ext3/super.c
fs/ext4/namei.c
fs/ext4/super.c
fs/hugetlbfs/inode.c
fs/jffs2/fs.c
fs/lockd/svclock.c
fs/locks.c
fs/nfs/client.c
fs/nfs/dir.c
fs/nfs/file.c
fs/nfs/getroot.c
fs/nfs/namespace.c
fs/nfs/nfs4proc.c
fs/nfs/super.c
fs/nfs/write.c
fs/nfsd/nfsfh.c
fs/nfsd/vfs.c
fs/ocfs2/alloc.c
fs/ocfs2/aops.c
fs/ocfs2/file.c
fs/ocfs2/localalloc.c
fs/ocfs2/localalloc.h
fs/ocfs2/suballoc.c
fs/ocfs2/suballoc.h
fs/ocfs2/super.c
fs/ocfs2/vote.c
fs/proc/array.c
fs/proc/inode.c
fs/reiserfs/super.c
fs/select.c
fs/signalfd.c
fs/splice.c
fs/sysfs/bin.c
fs/sysfs/dir.c
fs/udf/balloc.c
fs/udf/super.c
fs/ufs/super.c
fs/xfs/linux-2.6/kmem.h
fs/xfs/linux-2.6/xfs_aops.c
fs/xfs/linux-2.6/xfs_globals.c
fs/xfs/linux-2.6/xfs_super.c
fs/xfs/quota/xfs_qm.c
fs/xfs/support/debug.h
fs/xfs/xfs_da_btree.c
fs/xfs/xfs_filestream.c
fs/xfs/xfs_log.c
fs/xfs/xfs_log_recover.c
fs/xfs/xfs_mru_cache.c
fs/xfs/xfs_mru_cache.h
fs/xfs/xfs_vnodeops.c
include/acpi/acpi_bus.h
include/acpi/acpi_drivers.h
include/acpi/acpixf.h
include/acpi/acstruct.h
include/acpi/processor.h
include/asm-arm/arch-at91/irqs.h
include/asm-arm/arch-omap/irda.h
include/asm-arm/cacheflush.h
include/asm-arm/plat-s3c/map.h
include/asm-blackfin/mach-bf533/bfin_serial_5xx.h
include/asm-blackfin/mach-bf537/bfin_serial_5xx.h
include/asm-blackfin/mach-bf537/portmux.h
include/asm-blackfin/mach-bf561/bfin_serial_5xx.h
include/asm-blackfin/mach-bf561/cdefBF561.h
include/asm-blackfin/portmux.h
include/asm-blackfin/string.h
include/asm-blackfin/unistd.h
include/asm-generic/termios.h
include/asm-h8300/flat.h
include/asm-i386/io.h
include/asm-i386/io_apic.h
include/asm-i386/system.h
include/asm-ia64/hpsim.h [new file with mode: 0644]
include/asm-ia64/sn/arch.h
include/asm-ia64/sn/intr.h
include/asm-ia64/sn/sn_feature_sets.h
include/asm-m32r/assembler.h
include/asm-m32r/flat.h
include/asm-m32r/m32r.h
include/asm-m68k/unistd.h
include/asm-m68knommu/flat.h
include/asm-m68knommu/pgtable.h
include/asm-m68knommu/unistd.h
include/asm-mips/bcache.h
include/asm-mips/cmpxchg.h [new file with mode: 0644]
include/asm-mips/compiler.h
include/asm-mips/edac.h
include/asm-mips/fcntl.h
include/asm-mips/gt64240.h [deleted file]
include/asm-mips/hazards.h
include/asm-mips/ioctls.h
include/asm-mips/irq.h
include/asm-mips/jmr3927/jmr3927.h
include/asm-mips/jmr3927/tx3927.h
include/asm-mips/local.h
include/asm-mips/mach-generic/ide.h
include/asm-mips/mach-ocelot/mach-gt64120.h [deleted file]
include/asm-mips/marvell.h [deleted file]
include/asm-mips/page.h
include/asm-mips/pgtable-32.h
include/asm-mips/pgtable.h
include/asm-mips/sibyte/bcm1480_regs.h
include/asm-mips/smtc.h
include/asm-mips/stacktrace.h
include/asm-mips/system.h
include/asm-mips/termbits.h
include/asm-mips/termios.h
include/asm-mips/tx4927/toshiba_rbtx4927.h
include/asm-mips/tx4927/tx4927.h
include/asm-mips/tx4927/tx4927_pci.h
include/asm-mips/tx4938/rbtx4938.h
include/asm-mips/tx4938/tx4938.h
include/asm-mips/txx9irq.h [new file with mode: 0644]
include/asm-parisc/io.h
include/asm-parisc/vga.h [new file with mode: 0644]
include/asm-powerpc/spu.h
include/asm-powerpc/time.h
include/asm-sh/flat.h
include/asm-sparc/tlbflush.h
include/asm-sparc64/device.h
include/asm-sparc64/irq.h
include/asm-sparc64/oplib.h
include/asm-um/common.lds.S
include/asm-um/elf-x86_64.h
include/asm-v850/flat.h
include/asm-x86_64/io_apic.h
include/asm-x86_64/pgalloc.h
include/asm-x86_64/pgtable.h
include/asm-x86_64/processor.h
include/asm-xtensa/bugs.h
include/asm-xtensa/cache.h
include/asm-xtensa/cacheflush.h
include/asm-xtensa/elf.h
include/asm-xtensa/io.h
include/asm-xtensa/ioctls.h
include/asm-xtensa/page.h
include/asm-xtensa/pgalloc.h
include/asm-xtensa/pgtable.h
include/asm-xtensa/processor.h
include/asm-xtensa/syscall.h
include/asm-xtensa/termbits.h
include/asm-xtensa/termios.h
include/asm-xtensa/timex.h
include/asm-xtensa/tlb.h
include/asm-xtensa/types.h
include/asm-xtensa/unistd.h
include/linux/Kbuild
include/linux/aer.h
include/linux/ata.h
include/linux/audit.h
include/linux/cpu.h
include/linux/cpufreq.h
include/linux/hugetlb.h
include/linux/ide.h
include/linux/if_pppol2tp.h
include/linux/init_task.h
include/linux/input.h
include/linux/isa.h
include/linux/kernel.h
include/linux/keyboard.h
include/linux/leds.h
include/linux/libata.h
include/linux/mempolicy.h
include/linux/netfilter.h
include/linux/nfs_fs.h
include/linux/pci.h
include/linux/pci_ids.h
include/linux/pmu.h
include/linux/poll.h
include/linux/rtnetlink.h
include/linux/sched.h
include/linux/signalfd.h
include/linux/skbuff.h
include/linux/slub_def.h
include/linux/user_namespace.h
include/linux/writeback.h
include/media/v4l2-dev.h
include/net/rose.h
include/net/sctp/sctp.h
include/net/sctp/sm.h
include/net/sctp/structs.h
include/net/sctp/ulpqueue.h
include/net/tcp.h
include/scsi/libiscsi.h
init/Kconfig
init/do_mounts_initrd.c
init/main.c
kernel/cpu.c
kernel/exit.c
kernel/fork.c
kernel/futex.c
kernel/futex_compat.c
kernel/irq/manage.c
kernel/kmod.c
kernel/module.c
kernel/power/Kconfig
kernel/ptrace.c
kernel/sched.c
kernel/sched_debug.c
kernel/sched_fair.c
kernel/sched_rt.c
kernel/signal.c
kernel/sys.c
kernel/sysctl.c
kernel/time/ntp.c
kernel/time/tick-broadcast.c
kernel/time/tick-sched.c
kernel/time/timekeeping.c
kernel/time/timer_stats.c
kernel/user.c
kernel/user_namespace.c
kernel/utsname.c
kernel/workqueue.c
lib/Kconfig.debug
lib/Makefile
lib/iomap.c
mm/Kconfig
mm/filemap.c
mm/fremap.c
mm/hugetlb.c
mm/memory.c
mm/mempolicy.c
mm/migrate.c
mm/page-writeback.c
mm/page_alloc.c
mm/slub.c
net/8021q/vlan.c
net/8021q/vlan_dev.c
net/9p/conv.c
net/9p/mux.c
net/bluetooth/hci_core.c
net/bluetooth/hci_sock.c
net/bridge/br_device.c
net/bridge/br_fdb.c
net/bridge/br_forward.c
net/bridge/br_if.c
net/bridge/br_input.c
net/bridge/br_netfilter.c
net/bridge/br_private.h
net/bridge/netfilter/ebtables.c
net/core/datagram.c
net/core/dev_mcast.c
net/core/neighbour.c
net/core/pktgen.c
net/core/sock.c
net/decnet/dn_dev.c
net/ieee80211/ieee80211_rx.c
net/ieee80211/softmac/ieee80211softmac_assoc.c
net/ieee80211/softmac/ieee80211softmac_wx.c
net/ipv4/ah4.c
net/ipv4/devinet.c
net/ipv4/inet_diag.c
net/ipv4/ip_sockglue.c
net/ipv4/ipvs/ip_vs_ctl.c
net/ipv4/netfilter/arp_tables.c
net/ipv4/netfilter/ip_tables.c
net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
net/ipv4/tcp_input.c
net/ipv4/tcp_ipv4.c
net/ipv4/udp.c
net/ipv6/addrconf.c
net/ipv6/ip6_output.c
net/ipv6/ipv6_sockglue.c
net/ipv6/ndisc.c
net/ipv6/netfilter/ip6_tables.c
net/ipv6/raw.c
net/ipv6/tcp_ipv6.c
net/ipv6/udp.c
net/mac80211/ieee80211.c
net/mac80211/rc80211_simple.c
net/mac80211/wme.c
net/netfilter/nf_sockopt.c
net/netfilter/nfnetlink_log.c
net/netfilter/xt_tcpudp.c
net/rose/rose_loopback.c
net/rose/rose_route.c
net/sched/act_api.c
net/sched/act_police.c
net/sched/cls_u32.c
net/sched/sch_cbq.c
net/sched/sch_prio.c
net/sched/sch_sfq.c
net/sctp/associola.c
net/sctp/bind_addr.c
net/sctp/endpointola.c
net/sctp/input.c
net/sctp/inqueue.c
net/sctp/ipv6.c
net/sctp/outqueue.c
net/sctp/protocol.c
net/sctp/sm_make_chunk.c
net/sctp/sm_sideeffect.c
net/sctp/sm_statefuns.c
net/sctp/sm_statetable.c
net/sctp/socket.c
net/sctp/ulpqueue.c
net/socket.c
net/sunrpc/svcsock.c
net/wireless/core.c
net/wireless/sysfs.c
scripts/kconfig/conf.c
security/selinux/hooks.c
sound/core/memalloc.c

index 8b056363344299c3822cd38427429007bb1c44b7..43e89b1537d9b251524f3b09002f02b03fc4ae15 100644 (file)
@@ -134,8 +134,6 @@ dvb/
        - info on Linux Digital Video Broadcast (DVB) subsystem.
 early-userspace/
        - info about initramfs, klibc, and userspace early during boot.
-ecryptfs.txt
-       - docs on eCryptfs: stacked cryptographic filesystem for Linux.
 eisa.txt
        - info on EISA bus support.
 exception.txt
index 90ed23df1f68f6f14c0077d7a196c36c0db08c11..c917de681ccd7cde61ee94333234cd8ad8b70ecb 100644 (file)
@@ -316,7 +316,8 @@ CPU B:  spin_unlock_irqrestore(&amp;dev_lock, flags)
 
   <chapter id="pubfunctions">
      <title>Public Functions Provided</title>
-!Einclude/asm-i386/io.h
+!Iinclude/asm-i386/io.h
+!Elib/iomap.c
   </chapter>
 
 </book>
index f8cc3f8ed152742542e06cd14df7c99aae40f9cd..c64e969dc33bb6e511f78984c007052e9b6cbc54 100644 (file)
@@ -208,7 +208,7 @@ tools.  One such tool that is particularly recommended is the Linux
 Cross-Reference project, which is able to present source code in a
 self-referential, indexed webpage format. An excellent up-to-date
 repository of the kernel code may be found at:
-       http://sosdg.org/~coywolf/lxr/
+       http://users.sosdg.org/~qiyong/lxr/
 
 
 The development process
@@ -384,7 +384,7 @@ One of the best ways to put into practice your hacking skills is by fixing
 bugs reported by other people. Not only you will help to make the kernel
 more stable, you'll learn to fix real world problems and you will improve
 your skills, and other developers will be aware of your presence. Fixing
-bugs is one of the best ways to earn merit amongst the developers, because
+bugs is one of the best ways to get merits among other developers, because
 not many people like wasting time fixing other people's bugs.
 
 To work in the already reported bug reports, go to http://bugzilla.kernel.org.
index cbbebfb51ffed15390012e33072c3829e6a9b13f..49a8efa5afebf0e42dbf4a7f3c3a916c604bc62d 100644 (file)
@@ -166,7 +166,7 @@ To solve this problem, you really only have two options:
 The option of being unfailingly polite really doesn't exist. Nobody will
 trust somebody who is so clearly hiding his true character.
 
-(*) Paul Simon sang "Fifty Ways to Lose Your Lover", because quite
+(*) Paul Simon sang "Fifty Ways to Leave Your Lover", because quite
 frankly, "A Million Ways to Tell a Developer He Is a D*ckhead" doesn't
 scan nearly as well.  But I'm sure he thought about it. 
 
index d6b45a9b29b4f6377e23a4415cdaea09e88d1845..a30dd4480ad4f389e3eb80677870c216e3de38e1 100644 (file)
@@ -126,7 +126,7 @@ the reviewers time and will get your patch rejected, probably
 without even being read.
 
 At a minimum you should check your patches with the patch style
-checker prior to submission (scripts/patchcheck.pl).  You should
+checker prior to submission (scripts/checkpatch.pl).  You should
 be able to justify all violations that remain in your patch.
 
 
@@ -560,7 +560,7 @@ NO!!!! No more huge patch bombs to linux-kernel@vger.kernel.org people!
   <http://marc.theaimsgroup.com/?l=linux-kernel&m=112112749912944&w=2>
 
 Kernel Documentation/CodingStyle:
-  <http://sosdg.org/~coywolf/lxr/source/Documentation/CodingStyle>
+  <http://users.sosdg.org/~qiyong/lxr/source/Documentation/CodingStyle>
 
 Linus Torvalds's mail on the canonical patch format:
   <http://lkml.org/lkml/2005/4/7/183>
diff --git a/Documentation/crypto/async-tx-api.txt b/Documentation/crypto/async-tx-api.txt
new file mode 100644 (file)
index 0000000..c1e9545
--- /dev/null
@@ -0,0 +1,219 @@
+                Asynchronous Transfers/Transforms API
+
+1 INTRODUCTION
+
+2 GENEALOGY
+
+3 USAGE
+3.1 General format of the API
+3.2 Supported operations
+3.3 Descriptor management
+3.4 When does the operation execute?
+3.5 When does the operation complete?
+3.6 Constraints
+3.7 Example
+
+4 DRIVER DEVELOPER NOTES
+4.1 Conformance points
+4.2 "My application needs finer control of hardware channels"
+
+5 SOURCE
+
+---
+
+1 INTRODUCTION
+
+The async_tx API provides methods for describing a chain of asynchronous
+bulk memory transfers/transforms with support for inter-transactional
+dependencies.  It is implemented as a dmaengine client that smooths over
+the details of different hardware offload engine implementations.  Code
+that is written to the API can optimize for asynchronous operation and
+the API will fit the chain of operations to the available offload
+resources.
+
+2 GENEALOGY
+
+The API was initially designed to offload the memory copy and
+xor-parity-calculations of the md-raid5 driver using the offload engines
+present in the Intel(R) Xscale series of I/O processors.  It also built
+on the 'dmaengine' layer developed for offloading memory copies in the
+network stack using Intel(R) I/OAT engines.  The following design
+features surfaced as a result:
+1/ implicit synchronous path: users of the API do not need to know if
+   the platform they are running on has offload capabilities.  The
+   operation will be offloaded when an engine is available and carried out
+   in software otherwise.
+2/ cross channel dependency chains: the API allows a chain of dependent
+   operations to be submitted, like xor->copy->xor in the raid5 case.  The
+   API automatically handles cases where the transition from one operation
+   to another implies a hardware channel switch.
+3/ dmaengine extensions to support multiple clients and operation types
+   beyond 'memcpy'
+
+3 USAGE
+
+3.1 General format of the API:
+struct dma_async_tx_descriptor *
+async_<operation>(<op specific parameters>,
+                 enum async_tx_flags flags,
+                 struct dma_async_tx_descriptor *dependency,
+                 dma_async_tx_callback callback_routine,
+                 void *callback_parameter);
+
+3.2 Supported operations:
+memcpy       - memory copy between a source and a destination buffer
+memset       - fill a destination buffer with a byte value
+xor          - xor a series of source buffers and write the result to a
+              destination buffer
+xor_zero_sum - xor a series of source buffers and set a flag if the
+              result is zero.  The implementation attempts to prevent
+              writes to memory
+
+3.3 Descriptor management:
+The return value is non-NULL and points to a 'descriptor' when the operation
+has been queued to execute asynchronously.  Descriptors are recycled
+resources, under control of the offload engine driver, to be reused as
+operations complete.  When an application needs to submit a chain of
+operations it must guarantee that the descriptor is not automatically recycled
+before the dependency is submitted.  This requires that all descriptors be
+acknowledged by the application before the offload engine driver is allowed to
+recycle (or free) the descriptor.  A descriptor can be acked by one of the
+following methods:
+1/ setting the ASYNC_TX_ACK flag if no child operations are to be submitted
+2/ setting the ASYNC_TX_DEP_ACK flag to acknowledge the parent
+   descriptor of a new operation.
+3/ calling async_tx_ack() on the descriptor.
+
+3.4 When does the operation execute?
+Operations do not immediately issue after return from the
+async_<operation> call.  Offload engine drivers batch operations to
+improve performance by reducing the number of mmio cycles needed to
+manage the channel.  Once a driver-specific threshold is met the driver
+automatically issues pending operations.  An application can force this
+event by calling async_tx_issue_pending_all().  This operates on all
+channels since the application has no knowledge of channel to operation
+mapping.
+
+3.5 When does the operation complete?
+There are two methods for an application to learn about the completion
+of an operation.
+1/ Call dma_wait_for_async_tx().  This call causes the CPU to spin while
+   it polls for the completion of the operation.  It handles dependency
+   chains and issuing pending operations.
+2/ Specify a completion callback.  The callback routine runs in tasklet
+   context if the offload engine driver supports interrupts, or it is
+   called in application context if the operation is carried out
+   synchronously in software.  The callback can be set in the call to
+   async_<operation>, or when the application needs to submit a chain of
+   unknown length it can use the async_trigger_callback() routine to set a
+   completion interrupt/callback at the end of the chain.
+
+3.6 Constraints:
+1/ Calls to async_<operation> are not permitted in IRQ context.  Other
+   contexts are permitted provided constraint #2 is not violated.
+2/ Completion callback routines cannot submit new operations.  This
+   results in recursion in the synchronous case and spin_locks being
+   acquired twice in the asynchronous case.
+
+3.7 Example:
+Perform a xor->copy->xor operation where each operation depends on the
+result from the previous operation:
+
+void complete_xor_copy_xor(void *param)
+{
+       printk("complete\n");
+}
+
+int run_xor_copy_xor(struct page **xor_srcs,
+                    int xor_src_cnt,
+                    struct page *xor_dest,
+                    size_t xor_len,
+                    struct page *copy_src,
+                    struct page *copy_dest,
+                    size_t copy_len)
+{
+       struct dma_async_tx_descriptor *tx;
+
+       tx = async_xor(xor_dest, xor_srcs, 0, xor_src_cnt, xor_len,
+                      ASYNC_TX_XOR_DROP_DST, NULL, NULL, NULL);
+       tx = async_memcpy(copy_dest, copy_src, 0, 0, copy_len,
+                         ASYNC_TX_DEP_ACK, tx, NULL, NULL);
+       tx = async_xor(xor_dest, xor_srcs, 0, xor_src_cnt, xor_len,
+                      ASYNC_TX_XOR_DROP_DST | ASYNC_TX_DEP_ACK | ASYNC_TX_ACK,
+                      tx, complete_xor_copy_xor, NULL);
+
+       async_tx_issue_pending_all();
+}
+
+See include/linux/async_tx.h for more information on the flags.  See the
+ops_run_* and ops_complete_* routines in drivers/md/raid5.c for more
+implementation examples.
+
+4 DRIVER DEVELOPMENT NOTES
+4.1 Conformance points:
+There are a few conformance points required in dmaengine drivers to
+accommodate assumptions made by applications using the async_tx API:
+1/ Completion callbacks are expected to happen in tasklet context
+2/ dma_async_tx_descriptor fields are never manipulated in IRQ context
+3/ Use async_tx_run_dependencies() in the descriptor clean up path to
+   handle submission of dependent operations
+
+4.2 "My application needs finer control of hardware channels"
+This requirement seems to arise from cases where a DMA engine driver is
+trying to support device-to-memory DMA.  The dmaengine and async_tx
+implementations were designed for offloading memory-to-memory
+operations; however, there are some capabilities of the dmaengine layer
+that can be used for platform-specific channel management.
+Platform-specific constraints can be handled by registering the
+application as a 'dma_client' and implementing a 'dma_event_callback' to
+apply a filter to the available channels in the system.  Before showing
+how to implement a custom dma_event callback some background of
+dmaengine's client support is required.
+
+The following routines in dmaengine support multiple clients requesting
+use of a channel:
+- dma_async_client_register(struct dma_client *client)
+- dma_async_client_chan_request(struct dma_client *client)
+
+dma_async_client_register takes a pointer to an initialized dma_client
+structure.  It expects that the 'event_callback' and 'cap_mask' fields
+are already initialized.
+
+dma_async_client_chan_request triggers dmaengine to notify the client of
+all channels that satisfy the capability mask.  It is up to the client's
+event_callback routine to track how many channels the client needs and
+how many it is currently using.  The dma_event_callback routine returns a
+dma_state_client code to let dmaengine know the status of the
+allocation.
+
+Below is the example of how to extend this functionality for
+platform-specific filtering of the available channels beyond the
+standard capability mask:
+
+static enum dma_state_client
+my_dma_client_callback(struct dma_client *client,
+                       struct dma_chan *chan, enum dma_state state)
+{
+       struct dma_device *dma_dev;
+       struct my_platform_specific_dma *plat_dma_dev;
+       
+       dma_dev = chan->device;
+       plat_dma_dev = container_of(dma_dev,
+                                   struct my_platform_specific_dma,
+                                   dma_dev);
+
+       if (!plat_dma_dev->platform_specific_capability)
+               return DMA_DUP;
+
+       . . .
+}
+
+5 SOURCE
+include/linux/dmaengine.h: core header file for DMA drivers and clients
+drivers/dma/dmaengine.c: offload engine channel management routines
+drivers/dma/: location for offload engine drivers
+include/linux/async_tx.h: core header file for the async_tx api
+crypto/async_tx/async_tx.c: async_tx interface to dmaengine and common code
+crypto/async_tx/async_memcpy.c: copy offload
+crypto/async_tx/async_memset.c: memory fill offload
+crypto/async_tx/async_xor.c: xor and xor zero sum offload
index 8de132a02ba952867020a846229b0818ee73d214..6c46730c631a6952fc34beb4302011463d754011 100644 (file)
@@ -94,6 +94,8 @@ Your cooperation is appreciated.
                  9 = /dev/urandom      Faster, less secure random number gen.
                 10 = /dev/aio          Asynchronous I/O notification interface
                 11 = /dev/kmsg         Writes to this come out as printk's
+                12 = /dev/oldmem       Used by crashdump kernels to access
+                                       the memory of the kernel that crashed.
 
   1 block      RAM disk
                  0 = /dev/ram0         First RAM disk
index a43d2878a4efd7a7d0fbe8d50d324c3fcaf75416..00928d2ecfb229506b574271efdcb59dd105f02a 100644 (file)
@@ -197,6 +197,14 @@ Who:       Len Brown <len.brown@intel.com>
 
 ---------------------------
 
+What:  /proc/acpi/event
+When:  February 2008
+Why:   /proc/acpi/event has been replaced by events via the input layer
+       and netlink since 2.6.23.
+Who:   Len Brown <len.brown@intel.com>
+
+---------------------------
+
 What:  Compaq touchscreen device emulation
 When:  Oct 2007
 Files: drivers/input/tsdev.c
@@ -290,3 +298,11 @@ Why:       All mthca hardware also supports MSI-X, which provides
 Who:   Roland Dreier <rolandd@cisco.com>
 
 ---------------------------
+
+What:   sk98lin network driver
+When:   Feburary 2008
+Why:    In kernel tree version of driver is unmaintained. Sk98lin driver
+       replaced by the skge driver. 
+Who:    Stephen Hemminger <shemminger@linux-foundation.org>
+
+---------------------------
index 571785887a4f46e2341051388cc51d8dbb5cc8d7..59db1bca702787ffbf862e6ad0e9703bba02e283 100644 (file)
@@ -32,6 +32,8 @@ directory-locking
        - info about the locking scheme used for directory operations.
 dlmfs.txt
        - info on the userspace interface to the OCFS2 DLM.
+ecryptfs.txt
+       - docs on eCryptfs: stacked cryptographic filesystem for Linux.
 ext2.txt
        - info, mount options and specifications for the Ext2 filesystem.
 ext3.txt
index bbd8b28c13de917dc3bdc6d04b1bc38e9aea2768..cda6905cbe49cac2f73dfd0437a53940c25810df 100644 (file)
@@ -6,12 +6,26 @@ ABOUT
 
 v9fs is a Unix implementation of the Plan 9 9p remote filesystem protocol.
 
-This software was originally developed by Ron Minnich <rminnich@lanl.gov>
-and Maya Gokhale <maya@lanl.gov>.  Additional development by Greg Watson
+This software was originally developed by Ron Minnich <rminnich@sandia.gov>
+and Maya Gokhale.  Additional development by Greg Watson
 <gwatson@lanl.gov> and most recently Eric Van Hensbergen
 <ericvh@gmail.com>, Latchesar Ionkov <lucho@ionkov.net> and Russ Cox
 <rsc@swtch.com>.
 
+The best detailed explanation of the Linux implementation and applications of
+the 9p client is available in the form of a USENIX paper:
+   http://www.usenix.org/events/usenix05/tech/freenix/hensbergen.html
+
+Other applications are described in the following papers:
+       * XCPU & Clustering
+               http://www.xcpu.org/xcpu-talk.pdf
+       * KVMFS: control file system for KVM
+               http://www.xcpu.org/kvmfs.pdf
+       * CellFS: A New ProgrammingModel for the Cell BE
+               http://www.xcpu.org/cellfs-talk.pdf
+       * PROSE I/O: Using 9p to enable Application Partitions
+               http://plan9.escet.urjc.es/iwp9/cready/PROSE_iwp9_2006.pdf
+
 USAGE
 =====
 
@@ -90,9 +104,9 @@ subset of the namespace by extending the path: '#U*'/tmp would just export
 and export.
 
 A Linux version of the 9p server is now maintained under the npfs project
-on sourceforge (http://sourceforge.net/projects/npfs).  There is also a
-more stable single-threaded version of the server (named spfs) available from
-the same CVS repository.
+on sourceforge (http://sourceforge.net/projects/npfs).  The currently
+maintained version is the single-threaded version of the server (named spfs)
+available from the same CVS repository.
 
 There are user and developer mailing lists available through the v9fs project
 on sourceforge (http://sourceforge.net/projects/v9fs).
index 8ccf0c1b58ed0df9430d1d67b6f62f4c64564218..ed55238023a9843f7781ac6cfe94d174ba772072 100644 (file)
@@ -28,11 +28,7 @@ Manish Singh  <manish.singh@oracle.com>
 Caveats
 =======
 Features which OCFS2 does not support yet:
-       - sparse files
        - extended attributes
-       - shared writable mmap
-       - loopback is supported, but data written will not
-         be cluster coherent.
        - quotas
        - cluster aware flock
        - cluster aware lockf
@@ -57,3 +53,12 @@ nointr                       Do not allow signals to interrupt cluster
 atime_quantum=60(*)    OCFS2 will not update atime unless this number
                        of seconds has passed since the last update.
                        Set to zero to always update atime.
+data=ordered   (*)     All data are forced directly out to the main file
+                       system prior to its metadata being committed to the
+                       journal.
+data=writeback         Data ordering is not preserved, data may be written
+                       into the main file system after its metadata has been
+                       committed to the journal.
+preferred_slot=0(*)    During mount, try to use this filesystem slot first. If
+                       it is in use by another node, the first empty one found
+                       will be chosen. Invalid values will be ignored.
index fa0c786a8bf5a787e6a980dd9dbeef9c283d7b41..cf6b6cb02aa15e8975fb191486e56493f3a06aa3 100644 (file)
@@ -6,7 +6,7 @@ Supported adapters:
     Datasheet: Publicly available at the Intel website
   * ServerWorks OSB4, CSB5, CSB6 and HT-1000 southbridges
     Datasheet: Only available via NDA from ServerWorks
-  * ATI IXP200, IXP300, IXP400, SB600 and SB700 southbridges
+  * ATI IXP200, IXP300, IXP400, SB600, SB700 and SB800 southbridges
     Datasheet: Not publicly available
   * Standard Microsystems (SMSC) SLC90E66 (Victory66) southbridge
     Datasheet: Publicly available at the SMSC website http://www.smsc.com
index 95df4ca70e717865cb23e7520a1ab8e8f978fb21..8777d2d321e38437424896c9f45e26ddff81ebbc 100644 (file)
-** Introduction\r
-This document describes what I managed to discover about the protocol used to\r
-specify force effects to I-Force 2.0 devices.  None of this information comes\r
-from Immerse. That's why you should not trust what is written in this\r
-document. This document is intended to help understanding the protocol.\r
-This is not a reference. Comments and corrections are welcome.  To contact me,\r
-send an email to: deneux@ifrance.com\r
-\r
-** WARNING **\r
-I may not be held responsible for any dammage or harm caused if you try to\r
-send data to your I-Force device based on what you read in this document.\r
-\r
-** Preliminary Notes:\r
-All values are hexadecimal with big-endian encoding (msb on the left). Beware,\r
-values inside packets are encoded using little-endian.  Bytes whose roles are\r
-unknown are marked ???  Information that needs deeper inspection is marked (?)\r
-\r
-** General form of a packet **\r
-This is how packets look when the device uses the rs232 to communicate.\r
-2B OP LEN DATA CS\r
-CS is the checksum. It is equal to the exclusive or of all bytes.\r
-\r
-When using USB:\r
-OP DATA\r
-The 2B, LEN and CS fields have disappeared, probably because USB handles frames and\r
-data corruption is handled or unsignificant.\r
-\r
-First, I describe effects that are sent by the device to the computer\r
-\r
-** Device input state\r
-This packet is used to indicate the state of each button and the value of each\r
-axis\r
-OP= 01 for a joystick, 03 for a wheel\r
-LEN= Varies from device to device\r
-00 X-Axis lsb\r
-01 X-Axis msb\r
-02 Y-Axis lsb, or gas pedal for a wheel\r
-03 Y-Axis msb, or brake pedal for a wheel\r
-04 Throttle\r
-05 Buttons\r
-06 Lower 4 bits: Buttons\r
-   Upper 4 bits: Hat\r
-07 Rudder\r
-\r
-** Device effects states\r
-OP= 02\r
-LEN= Varies\r
-00 ? Bit 1 (Value 2) is the value of the deadman switch\r
-01 Bit 8 is set if the effect is playing. Bits 0 to 7 are the effect id.\r
-02 ??\r
-03 Address of parameter block changed (lsb)\r
-04 Address of parameter block changed (msb)\r
-05 Address of second parameter block changed (lsb)\r
-... depending on the number of parameter blocks updated\r
-\r
-** Force effect **\r
-OP=  01\r
-LEN= 0e\r
-00 Channel (when playing several effects at the same time, each must be assigned a channel)\r
-01 Wave form\r
-       Val 00 Constant\r
-       Val 20 Square\r
-       Val 21 Triangle\r
-       Val 22 Sine\r
-       Val 23 Sawtooth up\r
-       Val 24 Sawtooth down\r
-       Val 40 Spring (Force = f(pos))\r
-       Val 41 Friction (Force = f(velocity)) and Inertia (Force = f(acceleration))\r
-\r
-       \r
-02 Axes affected and trigger\r
-       Bits 4-7: Val 2 = effect along one axis. Byte 05 indicates direction\r
-                 Val 4 = X axis only. Byte 05 must contain 5a\r
-                 Val 8 = Y axis only. Byte 05 must contain b4\r
-                 Val c = X and Y axes. Bytes 05 must contain 60\r
-       Bits 0-3: Val 0 = No trigger\r
-                 Val x+1 = Button x triggers the effect\r
-       When the whole byte is 0, cancel the previously set trigger\r
-\r
-03-04 Duration of effect (little endian encoding, in ms)\r
-\r
-05 Direction of effect, if applicable. Else, see 02 for value to assign.\r
-\r
-06-07 Minimum time between triggering.\r
-\r
-08-09 Address of periodicity or magnitude parameters\r
-0a-0b Address of attack and fade parameters, or ffff if none.\r
-*or*\r
-08-09 Address of interactive parameters for X-axis, or ffff if not applicable\r
-0a-0b Address of interactive parameters for Y-axis, or ffff if not applicable\r
-\r
-0c-0d Delay before execution of effect (little endian encoding, in ms)\r
-\r
-\r
-** Time based parameters **\r
-\r
-*** Attack and fade ***\r
-OP=  02\r
-LEN= 08\r
-00-01 Address where to store the parameteres\r
-02-03 Duration of attack (little endian encoding, in ms)\r
-04 Level at end of attack. Signed byte.\r
-05-06 Duration of fade.\r
-07 Level at end of fade.\r
-\r
-*** Magnitude ***\r
-OP=  03\r
-LEN= 03\r
-00-01 Address\r
-02 Level. Signed byte.\r
-\r
-*** Periodicity ***\r
-OP=  04\r
-LEN= 07\r
-00-01 Address\r
-02 Magnitude. Signed byte.\r
-03 Offset. Signed byte.\r
-04 Phase. Val 00 = 0 deg, Val 40 = 90 degs.\r
-05-06 Period (little endian encoding, in ms)\r
-\r
-** Interactive parameters **\r
-OP=  05\r
-LEN= 0a\r
-00-01 Address\r
-02 Positive Coeff\r
-03 Negative Coeff\r
-04+05 Offset (center)\r
-06+07 Dead band (Val 01F4 = 5000 (decimal))\r
-08 Positive saturation (Val 0a = 1000 (decimal) Val 64 = 10000 (decimal))\r
-09 Negative saturation\r
-\r
-The encoding is a bit funny here: For coeffs, these are signed values. The\r
-maximum value is 64 (100 decimal), the min is 9c.\r
-For the offset, the minimum value is FE0C, the maximum value is 01F4.\r
-For the deadband, the minimum value is 0, the max is 03E8.\r
-\r
-** Controls **\r
-OP=  41\r
-LEN= 03\r
-00 Channel\r
-01 Start/Stop\r
-       Val 00: Stop\r
-       Val 01: Start and play once.\r
-       Val 41: Start and play n times (See byte 02 below)\r
-02 Number of iterations n.\r
-\r
-** Init **\r
-\r
-*** Querying features ***\r
-OP=  ff\r
-Query command. Length varies according to the query type.\r
-The general format of this packet is:\r
-ff 01 QUERY [INDEX] CHECKSUM\r
-reponses are of the same form:\r
-FF LEN QUERY VALUE_QUERIED CHECKSUM2\r
-where LEN = 1 + length(VALUE_QUERIED)\r
-\r
-**** Query ram size ****\r
-QUERY = 42 ('B'uffer size)\r
-The device should reply with the same packet plus two additionnal bytes\r
-containing the size of the memory:\r
-ff 03 42 03 e8 CS would mean that the device has 1000 bytes of ram available.\r
-\r
-**** Query number of effects ****\r
-QUERY = 4e ('N'umber of effects)\r
-The device should respond by sending the number of effects that can be played\r
-at the same time (one byte)\r
-ff 02 4e 14 CS would stand for 20 effects.\r
-\r
-**** Vendor's id ****\r
-QUERY = 4d ('M'anufacturer)\r
-Query the vendors'id (2 bytes)\r
-\r
-**** Product id *****\r
-QUERY = 50 ('P'roduct)\r
-Query the product id (2 bytes)\r
-\r
-**** Open device ****\r
-QUERY = 4f ('O'pen) \r
-No data returned.\r
-\r
-**** Close device *****\r
-QUERY = 43 ('C')lose\r
-No data returned.\r
-\r
-**** Query effect ****\r
-QUERY = 45 ('E') \r
-Send effect type.\r
-Returns nonzero if supported (2 bytes)\r
-\r
-**** Firmware Version ****\r
-QUERY = 56 ('V'ersion)\r
-Sends back 3 bytes - major, minor, subminor\r
-\r
-*** Initialisation of the device ***\r
-\r
-**** Set Control ****\r
-!!! Device dependent, can be different on different models !!!\r
-OP=  40 <idx> <val> [<val>]\r
-LEN= 2 or 3\r
-00 Idx\r
-   Idx 00 Set dead zone (0..2048) \r
-   Idx 01 Ignore Deadman sensor (0..1)     \r
-   Idx 02 Enable comm watchdog (0..1)     \r
-   Idx 03 Set the strength of the spring (0..100)   \r
-   Idx 04 Enable or disable the spring (0/1)\r
-   Idx 05 Set axis saturation threshold (0..2048) \r
-\r
-**** Set Effect State ****\r
-OP=  42 <val>\r
-LEN= 1\r
-00 State\r
-   Bit 3 Pause force feedback\r
-   Bit 2 Enable force feedback\r
-   Bit 0 Stop all effects\r
-\r
-**** Set overall gain ****\r
-OP=  43 <val>\r
-LEN= 1\r
-00 Gain\r
-   Val 00 = 0%\r
-   Val 40 = 50%\r
-   Val 80 = 100%\r
-\r
-** Parameter memory **\r
-\r
-Each device has a certain amount of memory to store parameters of effects.\r
-The amount of RAM may vary, I encountered values from 200 to 1000 bytes. Below\r
-is the amount of memory apparently needed for every set of parameters:\r
- - period : 0c\r
- - magnitude : 02\r
- - attack and fade : 0e\r
- - interactive : 08\r
-\r
-** Appendix: How to study the protocol ? **\r
-\r
-1. Generate effects using the force editor provided with the DirectX SDK, or use Immersion Studio (freely available at their web site in the developer section: www.immersion.com)\r
-2. Start a soft spying RS232 or USB (depending on where you connected your joystick/wheel). I used ComPortSpy from fCoder (alpha version!)\r
-3. Play the effect, and watch what happens on the spy screen.\r
-\r
-A few words about ComPortSpy:\r
-At first glance, this soft seems, hum, well... buggy. In fact, data appear with a few seconds latency. Personnaly, I restart it every time I play an effect.\r
-Remember it's free (as in free beer) and alpha!\r
-\r
-** URLS **\r
-Check www.immerse.com for Immersion Studio, and www.fcoder.com for ComPortSpy.\r
-\r
-** Author of this document **\r
-Johann Deneux <deneux@ifrance.com>\r
-Home page at http://www.esil.univ-mrs.fr/~jdeneux/projects/ff/\r
-\r
-Additions by Vojtech Pavlik.\r
-\r
-I-Force is trademark of Immersion Corp.\r
+** Introduction
+This document describes what I managed to discover about the protocol used to
+specify force effects to I-Force 2.0 devices.  None of this information comes
+from Immerse. That's why you should not trust what is written in this
+document. This document is intended to help understanding the protocol.
+This is not a reference. Comments and corrections are welcome.  To contact me,
+send an email to: deneux@ifrance.com
+
+** WARNING **
+I may not be held responsible for any dammage or harm caused if you try to
+send data to your I-Force device based on what you read in this document.
+
+** Preliminary Notes:
+All values are hexadecimal with big-endian encoding (msb on the left). Beware,
+values inside packets are encoded using little-endian.  Bytes whose roles are
+unknown are marked ???  Information that needs deeper inspection is marked (?)
+
+** General form of a packet **
+This is how packets look when the device uses the rs232 to communicate.
+2B OP LEN DATA CS
+CS is the checksum. It is equal to the exclusive or of all bytes.
+
+When using USB:
+OP DATA
+The 2B, LEN and CS fields have disappeared, probably because USB handles frames and
+data corruption is handled or unsignificant.
+
+First, I describe effects that are sent by the device to the computer
+
+** Device input state
+This packet is used to indicate the state of each button and the value of each
+axis
+OP= 01 for a joystick, 03 for a wheel
+LEN= Varies from device to device
+00 X-Axis lsb
+01 X-Axis msb
+02 Y-Axis lsb, or gas pedal for a wheel
+03 Y-Axis msb, or brake pedal for a wheel
+04 Throttle
+05 Buttons
+06 Lower 4 bits: Buttons
+   Upper 4 bits: Hat
+07 Rudder
+
+** Device effects states
+OP= 02
+LEN= Varies
+00 ? Bit 1 (Value 2) is the value of the deadman switch
+01 Bit 8 is set if the effect is playing. Bits 0 to 7 are the effect id.
+02 ??
+03 Address of parameter block changed (lsb)
+04 Address of parameter block changed (msb)
+05 Address of second parameter block changed (lsb)
+... depending on the number of parameter blocks updated
+
+** Force effect **
+OP=  01
+LEN= 0e
+00 Channel (when playing several effects at the same time, each must be assigned a channel)
+01 Wave form
+       Val 00 Constant
+       Val 20 Square
+       Val 21 Triangle
+       Val 22 Sine
+       Val 23 Sawtooth up
+       Val 24 Sawtooth down
+       Val 40 Spring (Force = f(pos))
+       Val 41 Friction (Force = f(velocity)) and Inertia (Force = f(acceleration))
+
+
+02 Axes affected and trigger
+       Bits 4-7: Val 2 = effect along one axis. Byte 05 indicates direction
+                 Val 4 = X axis only. Byte 05 must contain 5a
+                 Val 8 = Y axis only. Byte 05 must contain b4
+                 Val c = X and Y axes. Bytes 05 must contain 60
+       Bits 0-3: Val 0 = No trigger
+                 Val x+1 = Button x triggers the effect
+       When the whole byte is 0, cancel the previously set trigger
+
+03-04 Duration of effect (little endian encoding, in ms)
+
+05 Direction of effect, if applicable. Else, see 02 for value to assign.
+
+06-07 Minimum time between triggering.
+
+08-09 Address of periodicity or magnitude parameters
+0a-0b Address of attack and fade parameters, or ffff if none.
+*or*
+08-09 Address of interactive parameters for X-axis, or ffff if not applicable
+0a-0b Address of interactive parameters for Y-axis, or ffff if not applicable
+
+0c-0d Delay before execution of effect (little endian encoding, in ms)
+
+
+** Time based parameters **
+
+*** Attack and fade ***
+OP=  02
+LEN= 08
+00-01 Address where to store the parameteres
+02-03 Duration of attack (little endian encoding, in ms)
+04 Level at end of attack. Signed byte.
+05-06 Duration of fade.
+07 Level at end of fade.
+
+*** Magnitude ***
+OP=  03
+LEN= 03
+00-01 Address
+02 Level. Signed byte.
+
+*** Periodicity ***
+OP=  04
+LEN= 07
+00-01 Address
+02 Magnitude. Signed byte.
+03 Offset. Signed byte.
+04 Phase. Val 00 = 0 deg, Val 40 = 90 degs.
+05-06 Period (little endian encoding, in ms)
+
+** Interactive parameters **
+OP=  05
+LEN= 0a
+00-01 Address
+02 Positive Coeff
+03 Negative Coeff
+04+05 Offset (center)
+06+07 Dead band (Val 01F4 = 5000 (decimal))
+08 Positive saturation (Val 0a = 1000 (decimal) Val 64 = 10000 (decimal))
+09 Negative saturation
+
+The encoding is a bit funny here: For coeffs, these are signed values. The
+maximum value is 64 (100 decimal), the min is 9c.
+For the offset, the minimum value is FE0C, the maximum value is 01F4.
+For the deadband, the minimum value is 0, the max is 03E8.
+
+** Controls **
+OP=  41
+LEN= 03
+00 Channel
+01 Start/Stop
+       Val 00: Stop
+       Val 01: Start and play once.
+       Val 41: Start and play n times (See byte 02 below)
+02 Number of iterations n.
+
+** Init **
+
+*** Querying features ***
+OP=  ff
+Query command. Length varies according to the query type.
+The general format of this packet is:
+ff 01 QUERY [INDEX] CHECKSUM
+reponses are of the same form:
+FF LEN QUERY VALUE_QUERIED CHECKSUM2
+where LEN = 1 + length(VALUE_QUERIED)
+
+**** Query ram size ****
+QUERY = 42 ('B'uffer size)
+The device should reply with the same packet plus two additionnal bytes
+containing the size of the memory:
+ff 03 42 03 e8 CS would mean that the device has 1000 bytes of ram available.
+
+**** Query number of effects ****
+QUERY = 4e ('N'umber of effects)
+The device should respond by sending the number of effects that can be played
+at the same time (one byte)
+ff 02 4e 14 CS would stand for 20 effects.
+
+**** Vendor's id ****
+QUERY = 4d ('M'anufacturer)
+Query the vendors'id (2 bytes)
+
+**** Product id *****
+QUERY = 50 ('P'roduct)
+Query the product id (2 bytes)
+
+**** Open device ****
+QUERY = 4f ('O'pen)
+No data returned.
+
+**** Close device *****
+QUERY = 43 ('C')lose
+No data returned.
+
+**** Query effect ****
+QUERY = 45 ('E')
+Send effect type.
+Returns nonzero if supported (2 bytes)
+
+**** Firmware Version ****
+QUERY = 56 ('V'ersion)
+Sends back 3 bytes - major, minor, subminor
+
+*** Initialisation of the device ***
+
+**** Set Control ****
+!!! Device dependent, can be different on different models !!!
+OP=  40 <idx> <val> [<val>]
+LEN= 2 or 3
+00 Idx
+   Idx 00 Set dead zone (0..2048)
+   Idx 01 Ignore Deadman sensor (0..1)
+   Idx 02 Enable comm watchdog (0..1)
+   Idx 03 Set the strength of the spring (0..100)
+   Idx 04 Enable or disable the spring (0/1)
+   Idx 05 Set axis saturation threshold (0..2048)
+
+**** Set Effect State ****
+OP=  42 <val>
+LEN= 1
+00 State
+   Bit 3 Pause force feedback
+   Bit 2 Enable force feedback
+   Bit 0 Stop all effects
+
+**** Set overall gain ****
+OP=  43 <val>
+LEN= 1
+00 Gain
+   Val 00 = 0%
+   Val 40 = 50%
+   Val 80 = 100%
+
+** Parameter memory **
+
+Each device has a certain amount of memory to store parameters of effects.
+The amount of RAM may vary, I encountered values from 200 to 1000 bytes. Below
+is the amount of memory apparently needed for every set of parameters:
+ - period : 0c
+ - magnitude : 02
+ - attack and fade : 0e
+ - interactive : 08
+
+** Appendix: How to study the protocol ? **
+
+1. Generate effects using the force editor provided with the DirectX SDK, or use Immersion Studio (freely available at their web site in the developer section: www.immersion.com)
+2. Start a soft spying RS232 or USB (depending on where you connected your joystick/wheel). I used ComPortSpy from fCoder (alpha version!)
+3. Play the effect, and watch what happens on the spy screen.
+
+A few words about ComPortSpy:
+At first glance, this soft seems, hum, well... buggy. In fact, data appear with a few seconds latency. Personnaly, I restart it every time I play an effect.
+Remember it's free (as in free beer) and alpha!
+
+** URLS **
+Check www.immerse.com for Immersion Studio, and www.fcoder.com for ComPortSpy.
+
+** Author of this document **
+Johann Deneux <deneux@ifrance.com>
+Home page at http://www.esil.univ-mrs.fr/~jdeneux/projects/ff/
+
+Additions by Vojtech Pavlik.
+
+I-Force is trademark of Immersion Corp.
index 975f029be25cb991e02ac9d310a15cd767ad2d29..4d175c7512464671e14731239d5bf943b72c5614 100644 (file)
@@ -468,9 +468,6 @@ and is between 256 and 4096 characters. It is defined in the file
                        Format:
                        <first_slot>,<last_slot>,<port>,<enum_bit>[,<debug>]
 
-       cpia_pp=        [HW,PPT]
-                       Format: { parport<nr> | auto | none }
-
        crashkernel=nn[KMG]@ss[KMG]
                        [KNL] Reserve a chunk of physical memory to
                        hold a kernel to switch to with kexec on panic.
@@ -952,14 +949,10 @@ and is between 256 and 4096 characters. It is defined in the file
                        Format: <1-256>
 
        maxcpus=        [SMP] Maximum number of processors that an SMP kernel
-                       should make use of.
-                       Using "nosmp" or "maxcpus=0" will disable SMP
-                       entirely (the MPS table probe still happens, though).
-                       A command-line option of "maxcpus=<NUM>", where <NUM>
-                       is an integer greater than 0, limits the maximum number
-                       of CPUs activated in SMP mode to <NUM>.
-                       Using "maxcpus=1" on an SMP kernel is the trivial
-                       case of an SMP kernel with only one CPU.
+                       should make use of.  maxcpus=n : n >= 0 limits the
+                       kernel to using 'n' processors.  n=0 is a special case,
+                       it is equivalent to "nosmp", which also disables
+                       the IO APIC.
 
        max_addr=[KMG]  [KNL,BOOT,ia64] All physical memory greater than or
                        equal to this physical address is ignored.
@@ -1184,7 +1177,8 @@ and is between 256 and 4096 characters. It is defined in the file
 
        nosep           [BUGS=X86-32] Disables x86 SYSENTER/SYSEXIT support.
 
-       nosmp           [SMP] Tells an SMP kernel to act as a UP kernel.
+       nosmp           [SMP] Tells an SMP kernel to act as a UP kernel,
+                       and disable the IO APIC.  legacy for "maxcpus=0".
 
        nosoftlockup    [KNL] Disable the soft-lockup detector.
 
@@ -1826,6 +1820,10 @@ and is between 256 and 4096 characters. It is defined in the file
                        -1: disable all active trip points in all thermal zones
                        <degrees C>: override all lowest active trip points
 
+       thermal.crt=    [HW,ACPI]
+                       -1: disable all critical trip points in all thermal zones
+                       <degrees C>: lower all critical trip points
+
        thermal.nocrt=  [HW,ACPI]
                        Set to disable actions on ACPI thermal zone
                        critical and hot trip points.
diff --git a/Documentation/ko_KR/HOWTO b/Documentation/ko_KR/HOWTO
new file mode 100644 (file)
index 0000000..b51d7ca
--- /dev/null
@@ -0,0 +1,623 @@
+NOTE:
+This is a version of Documentation/HOWTO translated into korean
+This document is maintained by minchan Kim < minchan.kim@gmail.com>
+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.
+
+Please also note that the purpose of this file is to be easier to
+read for non English (read: korean) 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.
+
+==================================
+์ด ๋ฌธ์„œ๋Š”
+Documentation/HOWTO
+์˜ ํ•œ๊ธ€ ๋ฒˆ์—ญ์ž…๋‹ˆ๋‹ค.
+
+์—ญ์ž๏ผš ๊น€๋ฏผ์ฐฌ <minchan.kim@gmail.com >
+๊ฐ์ˆ˜๏ผš ์ด์ œ์ด๋ฏธ <jamee.lee@samsung.com>
+==================================
+
+์–ด๋–ป๊ฒŒ ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๊ฐœ๋ฐœ์„ ํ•˜๋Š”๊ฐ€
+---------------------------------
+
+์ด ๋ฌธ์„œ๋Š” ์ปค๋„ ๊ฐœ๋ฐœ์— ์žˆ์–ด ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ฌธ์„œ์ด๋‹ค. ์ด ๋ฌธ์„œ๋Š”
+๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋Š” ๋ฒ•๊ณผ ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๊ฐœ๋ฐœ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ์ผํ•˜๋Š”
+๋ฒ•์„ ๋‹ด๊ณ ์žˆ๋‹ค. ์ปค๋„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜๊ธฐ์ˆ ์ ์ธ ์ธก๋ฉด๊ณผ ๊ด€๋ จ๋œ ๋‚ด์šฉ๋“ค์€
+ํฌํ•จํ•˜์ง€ ์•Š์œผ๋ ค๊ณ  ํ•˜์˜€์ง€๋งŒ ์˜ฌ๋ฐ”์œผ๋กœ ์—ฌ๋Ÿฌ๋ถ„์„ ์•ˆ๋‚ดํ•˜๋Š” ๋ฐ ๋„์›€์ด
+๋  ๊ฒƒ์ด๋‹ค.
+
+์ด ๋ฌธ์„œ์—์„œ ์˜ค๋ž˜๋œ ๊ฒƒ์„ ๋ฐœ๊ฒฌํ•˜๋ฉด ๋ฌธ์„œ์˜ ์•„๋ž˜์ชฝ์— ๋‚˜์—ด๋œ ๋ฉ”์ธํŠธ๋„ˆ์—๊ฒŒ
+ํŒจ์น˜๋ฅผ ๋ณด๋‚ด๋‹ฌ๋ผ.
+
+
+์†Œ๊ฐœ
+----
+
+์ž, ์—ฌ๋Ÿฌ๋ถ„์€ ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋Š” ๋ฒ•์„ ๋ฐฐ์šฐ๊ณ  ์‹ถ์€๊ฐ€? ์•„๋‹ˆ๋ฉด
+์ƒ์‚ฌ๋กœ๋ถ€ํ„ฐ"์ด ์žฅ์น˜๋ฅผ ์œ„ํ•œ ๋ฆฌ๋ˆ…์Šค ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ž‘์„ฑํ•˜์‹œ์˜ค"๋ผ๋Š” ๋ง์„
+๋“ค์—ˆ๋Š”๊ฐ€? ์ด ๋ฌธ์„œ๋Š” ์—ฌ๋Ÿฌ๋ถ„์ด ๊ฒช๊ฒŒ ๋  ๊ณผ์ •๊ณผ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ์ผํ•˜๋Š” ๋ฒ•์„
+์กฐ์–ธํ•˜์—ฌ ์—ฌ๋Ÿฌ๋ถ„์˜ ๋ชฉ์ ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ฒƒ ๋ชจ๋‘๋ฅผ ์•Œ๋ ค์ฃผ๋Š”
+๊ฒƒ์ด๋‹ค.
+
+์ปค๋„์€ ๋Œ€๋ถ€๋ถ„์€ C๋กœ ์ž‘์„ฑ๋˜์—ˆ์–ด๊ณ  ๋ช‡๋ช‡ ์•„ํ‚คํ…์ณ์˜ ์˜์กด์ ์ธ ๋ถ€๋ถ„์€
+์–ด์…ˆ๋ธ”๋ฆฌ๋กœ ์ž‘์„ฑ๋˜์—ˆ๋‹ค. ์ปค๋„ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด C๋ฅผ ์ž˜ ์ดํ•ดํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค.
+์—ฌ๋Ÿฌ๋ถ„์ด ํŠน์ • ์•„ํ‚คํ…์ณ์˜ low-level ๊ฐœ๋ฐœ์„ ํ•  ๊ฒƒ์ด ์•„๋‹ˆ๋ผ๋ฉด
+์–ด์…ˆ๋ธ”๋ฆฌ(ํŠน์ • ์•„ํ‚คํ…์ณ)๋Š” ์ž˜ ์•Œ์•„์•ผ ํ•  ํ•„์š”๋Š” ์—†๋‹ค.
+๋‹ค์Œ์˜ ์ฐธ๊ณ ์„œ์ ๋“ค์€ ๊ธฐ๋ณธ์— ์ถฉ์‹คํ•œ C ๊ต์œก์ด๋‚˜ ์ˆ˜๋…„๊ฐ„์˜ ๊ฒฝํ—˜์— ๊ฒฌ์ฃผ์ง€๋Š”
+๋ชปํ•˜์ง€๋งŒ ์ ์–ด๋„ ์ฐธ๊ณ  ์šฉ๋„๋กœ๋Š” ์ข‹์„ ๊ฒƒ์ด๋‹ค
+ - "The C Programming Language" by Kernighan and Ritchie [Prentice Hall]
+ - "Practical C Programming" by Steve Oualline [O'Reilly]
+ - "C:  A Reference Manual" by Harbison and Steele [Prentice Hall]
+
+์ปค๋„์€ GNU C์™€ GNU ํˆด์ฒด์ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์„ฑ๋˜์—ˆ๋‹ค. ์ด ํˆด๋“ค์€ ISO C89 ํ‘œ์ค€์„
+๋”ฐ๋ฅด๋Š” ๋ฐ˜๋ฉด ํ‘œ์ค€์— ์žˆ์ง€ ์•Š์€ ๋งŽ์€ ํ™•์žฅ๊ธฐ๋Šฅ๋„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ปค๋„์€ ํ‘œ์ค€ C
+๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€๋Š” ๊ด€๊ณ„์—†์ด freestanding C ํ™˜๊ฒฝ์ด์–ด์„œ C ํ‘œ์ค€์˜ ์ผ๋ถ€๋Š”
+์ง€์›๋˜์ง€ ์•Š๋Š”๋‹ค. ์ž„์˜์˜ long long ๋‚˜๋ˆ„๊ธฐ๋‚˜ floating point๋Š” ์ง€์›๋˜์ง€ ์•Š๋Š”๋‹ค.
+๋•Œ๋ก  ์ด๋Ÿฐ ์ด์œ ๋กœ ์ปค๋„์ด ๊ทธ๋Ÿฐ ํ™•์žฅ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ํˆด์ฒด์ธ์„ ๊ฐ€์ง€๊ณ  ๋งŒ๋“ค์–ด์กŒ๋‹ค๋Š”
+๊ฒƒ์ด ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ค์šธ ์ˆ˜๋„ ์žˆ๊ณ  ๊ฒŒ๋‹ค๊ฐ€ ๋ถˆํ–‰ํ•˜๊ฒŒ๋„ ๊ทธ๋Ÿฐ ๊ฒƒ์„ ์ •ํ™•ํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๋Š”
+์–ด๋–ค ์ฐธ๊ณ ๋ฌธ์„œ๋„ ์žˆ์ง€ ์•Š๋‹ค. ์ •๋ณด๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด์„œ๋Š” gcc info (`info gcc`)ํŽ˜์ด์ง€๋ฅผ
+์‚ดํŽด๋ณด๋ผ.
+
+์—ฌ๋Ÿฌ๋ถ„์€ ๊ธฐ์กด์˜ ๊ฐœ๋ฐœ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ์ผํ•˜๋Š” ๋ฒ•์„ ๋ฐฐ์šฐ๋ ค๊ณ  ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„
+๊ธฐ์–ตํ•˜๋ผ. ์ฝ”๋”ฉ, ์Šคํƒ€์ผ, ์ ˆ์ฐจ์— ๊ด€ํ•œ ํ›Œ๋ฅญํ•œ ํ‘œ์ค€์„ ๊ฐ€์ง„ ์‚ฌ๋žŒ๋“ค์ด ๋ชจ์ธ
+๋‹ค์–‘ํ•œ ๊ทธ๋ฃน์ด ์žˆ๋‹ค. ์ด ํ‘œ์ค€๋“ค์€ ์˜ค๋žœ๋™์•ˆ ํฌ๊ณ  ์ง€์—ญ์ ์œผ๋กœ ๋ถ„์‚ฐ๋œ ํŒ€๋“ค์—
+์˜ํ•ด ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ผํ•˜๊ธฐ์œ„ํ•˜์—ฌ ์ฐพ์€ ๊ฒƒ์„ ๊ธฐ์ดˆ๋กœ ๋งŒ๋“ค์–ด์ ธ์™”๋‹ค.
+๊ทธ ํ‘œ์ค€๋“ค์€ ๋ฌธ์„œํ™”๊ฐ€ ์ž˜ ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋Šฅํ•œํ•œ ๋ฏธ๋ฆฌ ๋งŽ์€ ํ‘œ์ค€๋“ค์—
+๊ด€ํ•˜์—ฌ ๋ฐฐ์šฐ๋ ค๊ณ  ์‹œ๋„ํ•˜๋ผ. ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์€ ์—ฌ๋Ÿฌ๋ถ„์ด๋‚˜ ์—ฌ๋Ÿฌ๋ถ„์˜ ํšŒ์‚ฌ๊ฐ€
+์ผํ•˜๋Š” ๋ฐฉ์‹์— ์ ์‘ํ•˜๋Š” ๊ฒƒ์„ ์›ํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค.
+
+
+๋ฒ•์  ๋ฌธ์ œ
+---------
+
+๋ฆฌ๋ˆ…์Šค ์ปค๋„ ์†Œ์Šค ์ฝ”๋“œ๋Š” GPL๋กœ ๋ฐฐํฌ(release)๋˜์—ˆ๋‹ค. ์†Œ์ŠคํŠธ๋ฆฌ์˜ ๋ฉ”์ธ
+๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” ๋ผ์ด์„ผ์Šค์— ๊ด€ํ•˜์—ฌ ์ƒ์„ธํ•˜๊ฒŒ ์“ฐ์—ฌ ์žˆ๋Š” COPYING์ด๋ผ๋Š”
+ํŒŒ์ผ์„ ๋ด๋ผ.์—ฌ๋Ÿฌ๋ถ„์ด ๋ผ์ด์„ผ์Šค์— ๊ด€ํ•œ ๋” ๊นŠ์€ ๋ฌธ์ œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด
+๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ์— ๋ฌป์ง€๋ง๊ณ  ๋ณ€ํ˜ธ์‚ฌ์™€ ์—ฐ๋ฝํ•˜๋ผ. ๋ฉ”์ผ๋ง
+๋ฆฌ์ŠคํŠธ๋“ค์— ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์€ ๋ณ€ํ˜ธ์‚ฌ๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฒ•์  ๋ฌธ์ œ์— ๊ด€ํ•˜์—ฌ
+๊ทธ๋“ค์˜ ๋ง์— ์˜์ง€ํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค.
+
+GPL์— ๊ด€ํ•œ ์žฆ์€ ์งˆ๋ฌธ๋“ค๊ณผ ๋‹ต๋ณ€๋“ค์€ ๋‹ค์Œ์„ ์ฐธ์กฐํ•˜๋ผ.
+    http://www.gnu.org/licenses/gpl-faq.html
+
+
+๋ฌธ์„œ
+----
+
+๋ฆฌ๋ˆ…์Šค ์ปค๋„ ์†Œ์Šค ํŠธ๋ฆฌ๋Š” ์ปค๋„ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ์ผํ•˜๋Š” ๋ฒ•์„ ๋ฐฐ์šฐ๊ธฐ ์œ„ํ•œ ๋งŽ์€
+๊ท€์ค‘ํ•œ ๋ฌธ์„œ๋“ค์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๋“ค์ด ์ปค๋„์— ๋“ค์–ด๊ฐ€๊ฒŒ ๋  ๋•Œ,
+๊ทธ ๊ธฐ๋Šฅ์„ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€์— ๊ด€ํ•œ ์„ค๋ช…์„ ์œ„ํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฌธ์„œ ํŒŒ์ผ์„
+์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค. ์ปค๋„์ด ์œ ์ €์ŠคํŽ˜์ด์Šค๋กœ ๋…ธ์ถœํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ
+๋ณ€๊ฒฝํ•˜๊ฒŒ ๋˜๋ฉด ๋ณ€๊ฒฝ์„ ์„ค๋ช…ํ•˜๋Š” ๋ฉ”๋‰ด์–ผ ํŽ˜์ด์ง€๋“ค์— ๋Œ€ํ•œ ํŒจ์น˜๋‚˜ ์ •๋ณด๋ฅผ
+mtk-manpages@gmx.net์˜ ๋ฉ”์ธํŠธ๋„ˆ์—๊ฒŒ ๋ณด๋‚ผ ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค.
+
+๋‹ค์Œ์€ ์ปค๋„ ์†Œ์Šค ํŠธ๋ฆฌ์— ์žˆ๋Š” ์ฝ์–ด์•ผ ํ•  ํŒŒ์ผ๋“ค์˜ ๋ฆฌ์ŠคํŠธ์ด๋‹ค.
+  README
+    ์ด ํŒŒ์ผ์€ ๋ฆฌ๋ˆ…์Šค ์ปค๋„์— ๊ด€ํ•˜์—ฌ ๊ฐ„๋‹จํ•œ ๋ฐฐ๊ฒฝ ์„ค๋ช…๊ณผ ์ปค๋„์„ ์„ค์ •ํ•˜๊ณ 
+    ๋นŒ๋“œํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ฒƒ์„ ์„ค๋ช…ํ•œ๋‹ค. ์ปค๋„์— ์ž…๋ฌธํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ ์—ฌ๊ธฐ์„œ
+    ์‹œ์ž‘ํ•ด์•ผ ํ•œ๋‹ค.
+
+  Documentation/Changes
+    ์ด ํŒŒ์ผ์€ ์ปค๋„์„ ์„ฑ๊ณต์ ์œผ๋กœ ๋นŒ๋“œํ•˜๊ณ  ์‹คํ–‰์‹œํ‚ค๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๋‹ค์–‘ํ•œ
+    ์†Œํ”„ํŠธ์›จ์–ด ํŒจํ‚ค์ง€๋“ค์˜ ์ตœ์†Œ ๋ฒ„์ ผ์„ ๋‚˜์—ดํ•œ๋‹ค.
+
+  Documentation/CodingStyle
+    ์ด ๋ฌธ์„œ๋Š” ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ์ฝ”๋”ฉ ์Šคํƒ€์ผ๊ณผ ๊ทธ๋ ‡๊ฒŒ ํ•œ ๋ช‡๋ช‡ ์ด์œ ๋ฅผ ์„ค๋ช…ํ•œ๋‹ค.
+    ๋ชจ๋“  ์ƒˆ๋กœ์šด ์ฝ”๋“œ๋Š” ์ด ๋ฌธ์„œ์— ๊ฐ€์ด๋“œ๋ผ์ธ๋“ค์„ ๋”ฐ๋ผ์•ผ ํ•œ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜
+    ๋ฉ”์ธํŠธ๋„ˆ๋“ค์€ ์ด ๊ทœ์น™์„ ๋”ฐ๋ฅด๋Š” ํŒจ์น˜๋“ค๋งŒ์„ ๋ฐ›์•„๋“ค์ผ ๊ฒƒ์ด๊ณ  ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด
+    ๊ทธ ํŒจ์น˜๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ์Šคํƒ€์ผ์ผ ๊ฒฝ์šฐ๋งŒ ์ฝ”๋“œ๋ฅผ ๊ฒ€ํ† ํ•  ๊ฒƒ์ด๋‹ค.
+
+  Documentation/SubmittingPatches
+  Documentation/SubmittingDrivers
+    ์ด ํŒŒ์ผ๋“ค์€ ์„ฑ๊ณต์ ์œผ๋กœ ํŒจ์น˜๋ฅผ ๋งŒ๋“ค๊ณ  ๋ณด๋‚ด๋Š” ๋ฒ•์„ ๋‹ค์Œ์˜ ๋‚ด์šฉ๋“ค๋กœ
+    ๊ต‰์žฅํžˆ ์ƒ์„ธํžˆ ์„ค๋ช…ํ•˜๊ณ  ์žˆ๋‹ค(๊ทธ๋Ÿฌ๋‚˜ ๋‹ค์Œ์œผ๋กœ ํ•œ์ •๋˜์ง„ ์•Š๋Š”๋‹ค).
+       - Email ๋‚ด์šฉ๋“ค
+       - Email ์–‘์‹
+       - ๊ทธ๊ฒƒ์„ ๋ˆ„๊ตฌ์—๊ฒŒ ๋ณด๋‚ผ์ง€
+    ์ด๋Ÿฌํ•œ ๊ทœ์น™๋“ค์„ ๋”ฐ๋ฅด๋Š” ๊ฒƒ์ด ์„ฑ๊ณต์„ ๋ณด์žฅํ•˜์ง„ ์•Š๋Š”๋‹ค(์™œ๋ƒํ•˜๋ฉด ๋ชจ๋“ 
+    ํŒจ์น˜๋“ค์€ ๋‚ด์šฉ๊ณผ ์Šคํƒ€์ผ์— ๊ด€ํ•˜์—ฌ ๋ฉด๋ฐ€ํžˆ ๊ฒ€ํ† ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค).
+    ๊ทธ๋Ÿฌ๋‚˜ ๊ทœ์น™์„ ๋”ฐ๋ฅด์ง€ ์•Š๋Š”๋‹ค๋ฉด ๊ฑฐ์˜ ์„ฑ๊ณตํ•˜์ง€๋„ ๋ชปํ•  ๊ฒƒ์ด๋‹ค.
+
+    ์˜ฌ๋ฐ”๋ฅธ ํŒจ์น˜๋“ค์„ ๋งŒ๋“œ๋Š” ๋ฒ•์— ๊ด€ํ•œ ํ›Œ๋ฅญํ•œ ๋‹ค๋ฅธ ๋ฌธ์„œ๋“ค์ด ์žˆ๋‹ค.
+    "The Perfect Patch"
+        http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt
+    "Linux kernel patch submission format"
+        http://linux.yyz.us/patch-format.html
+
+   Documentation/stable_api_nonsense.txt
+    ์ด ๋ฌธ์„œ๋Š” ์˜๋„์ ์œผ๋กœ ์ปค๋„์ด ๋ณ€ํ•˜์ง€ ์•Š๋Š” API๋ฅผ ๊ฐ–์ง€ ์•Š๋„๋ก ๊ฒฐ์ •ํ•œ
+    ์ด์œ ๋ฅผ ์„ค๋ช…ํ•˜๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ๋“ค์„ ํฌํ•จํ•œ๋‹ค.
+       - ์„œ๋ธŒ์‹œ์Šคํ…œ shim-layer(ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด?)
+       - ์šด์˜ ์ฒด์ œ๋“ค ๊ฐ„์˜ ๋“œ๋ผ์ด๋ฒ„ ์ด์‹์„ฑ
+       - ์ปค๋„ ์†Œ์Šค ํŠธ๋ฆฌ๋‚ด์— ๋น ๋ฅธ ๋ณ€ํ™”๋ฅผ ๋Šฆ์ถ”๋Š” ๊ฒƒ(๋˜๋Š” ๋น ๋ฅธ ๋ณ€ํ™”๋ฅผ ๋ง‰๋Š” ๊ฒƒ)
+    ์ด ๋ฌธ์„œ๋Š” ๋ฆฌ๋ˆ…์Šค ๊ฐœ๋ฐœ ์ฒ ํ•™์„ ์ดํ•ดํ•˜๋Š”๋ฐ ํ•„์ˆ˜์ ์ด๋ฉฐ ๋‹ค๋ฅธ ์šด์˜์ฒด์ œ์—์„œ
+    ๋ฆฌ๋ˆ…์Šค๋กœ ์˜ฎ๊ฒจ์˜ค๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋Š” ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค.
+
+
+  Documentation/SecurityBugs
+    ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ๋ฆฌ๋ˆ…์Šค ์ปค๋„์˜ ๋ณด์•ˆ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค๋ฉด ์ด ๋ฌธ์„œ์—
+    ๋‚˜์˜จ ๋‹จ๊ณ„์— ๋”ฐ๋ผ์„œ ์ปค๋„ ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ์•Œ๋ฆฌ๊ณ  ๊ทธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋„๋ก
+    ๋„์™€ ๋‹ฌ๋ผ.
+
+  Documentation/ManagementStyle
+    ์ด ๋ฌธ์„œ๋Š” ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๋ฉ”์ธํŠธ๋„ˆ๋“ค์ด ์–ด๋–ป๊ฒŒ ๊ทธ๋“ค์˜ ๋ฐฉ๋ฒ•๋ก ์˜ ์ •์‹ ์„
+    ์–ด๋–ป๊ฒŒ ๊ณต์œ ํ•˜๊ณ  ์šด์˜ํ•˜๋Š”์ง€๋ฅผ ์„ค๋ช…ํ•œ๋‹ค. ์ด๊ฒƒ์€ ์ปค๋„ ๊ฐœ๋ฐœ์— ์ž…๋ฌธํ•˜๋Š”
+    ๋ชจ๋“  ์‚ฌ๋žŒ๋“ค(๋˜๋Š” ์ปค๋„ ๊ฐœ๋ฐœ์— ์ž‘์€ ํ˜ธ๊ธฐ์‹ฌ์ด๋ผ๋„ ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค)์ด
+    ์ฝ์–ด์•ผ ํ•  ์ค‘์š”ํ•œ ๋ฌธ์„œ์ด๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์ด ๋ฌธ์„œ๋Š” ์ปค๋„ ๋ฉ”์ธํŠธ๋„ˆ๋“ค์˜
+    ๋…ํŠนํ•œ ํ–‰๋™์— ๊ด€ํ•˜์—ฌ ํ”ํžˆ ์žˆ๋Š” ์˜คํ•ด๋“ค๊ณผ ํ˜ผ๋ž€๋“ค์„ ํ•ด์†Œํ•˜๊ณ  ์žˆ๊ธฐ
+    ๋•Œ๋ฌธ์ด๋‹ค.
+
+  Documentation/stable_kernel_rules.txt
+    ์ด ๋ฌธ์„œ๋Š” ์•ˆ์ •์ ์ธ ์ปค๋„ ๋ฐฐํฌ๊ฐ€ ์ด๋ฃจ์–ด์ง€๋Š” ๊ทœ์น™์„ ์„ค๋ช…ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ
+    ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์ด๋Ÿฌํ•œ ๋ฐฐํฌ๋“ค ์ค‘ ํ•˜๋‚˜์— ๋ณ€๊ฒฝ์„ ํ•˜๊ธธ ์›ํ•œ๋‹ค๋ฉด
+    ๋ฌด์—‡์„ ํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ์„ค๋ช…ํ•œ๋‹ค.
+
+  Documentation/kernel-docs.txt
+    ์ปค๋„ ๊ฐœ๋ฐœ์— ๊ด€๊ณ„๋œ ์™ธ๋ถ€ ๋ฌธ์„œ์˜ ๋ฆฌ์ŠคํŠธ์ด๋‹ค. ์ปค๋„ ๋‚ด์˜ ํฌํ•จ๋œ ๋ฌธ์„œ๋“ค
+    ์ค‘์— ์—ฌ๋Ÿฌ๋ถ„์ด ์ฐพ๊ณ  ์‹ถ์€ ๋ฌธ์„œ๋ฅผ ๋ฐœ๊ฒฌํ•˜์ง€ ๋ชปํ•  ๊ฒฝ์šฐ ์ด ๋ฆฌ์ŠคํŠธ๋ฅผ
+    ์‚ดํŽด๋ณด๋ผ.
+
+  Documentation/applying-patches.txt
+    ํŒจ์น˜๊ฐ€ ๋ฌด์—‡์ด๋ฉฐ ๊ทธ๊ฒƒ์„ ์ปค๋„์˜ ๋‹ค๋ฅธ ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜๋“ค์— ์–ด๋–ป๊ฒŒ
+    ์ ์šฉํ•˜๋Š”์ง€์— ๊ด€ํ•˜์—ฌ ์ž์„ธํžˆ ์„ค๋ช… ํ•˜๊ณ  ์žˆ๋Š” ์ข‹์€ ์ž…๋ฌธ์„œ์ด๋‹ค.
+
+์ปค๋„์€ ์†Œ์Šค ์ฝ”๋“œ ๊ทธ ์ž์ฒด์—์„œ ์ž๋™์ ์œผ๋กœ ๋งŒ๋“ค์–ด์งˆ ์ˆ˜ ์žˆ๋Š” ๋งŽ์€ ๋ฌธ์„œ๋“ค์„
+๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ด๊ฒƒ์€ ์ปค๋„ ๋‚ด์˜ API์— ๋Œ€ํ•œ ๋ชจ๋“  ์„ค๋ช…, ๊ทธ๋ฆฌ๊ณ  ๋ฝํ‚น์„
+์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฒ•์— ๊ด€ํ•œ ๊ทœ์น™์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค. ์ด ๋ฌธ์„œ๋Š”
+Documentation/DocBook/ ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์—์„œ ๋งŒ๋“ค์–ด์ง€๋ฉฐ PDF, Postscript, HTML,
+๊ทธ๋ฆฌ๊ณ  man ํŽ˜์ด์ง€๋“ค๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‹คํ–‰ํ•˜์—ฌ ๋งŒ๋“ค์–ด ์ง„๋‹ค.
+         make pdfdocs
+         make psdocs
+         make htmldocs
+         make mandocs
+๊ฐ๊ฐ์˜ ๋ช…๋ น์„ ๋ฉ”์ธ ์ปค๋„ ์†Œ์Šค ๋””๋ ‰ํ† ๋ฆฌ๋กœ๋ถ€ํ„ฐ ์‹คํ–‰ํ•œ๋‹ค.
+
+
+์ปค๋„ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋Š” ๊ฒƒ
+---------------------
+
+์—ฌ๋Ÿฌ๋ถ„์ด ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๊ฐœ๋ฐœ์— ๊ด€ํ•˜์—ฌ ์•„๋ฌด๊ฒƒ๋„ ๋ชจ๋ฅธ๋‹ค๋ฉด Linux KernelNewbies
+ํ”„๋กœ์ ํŠธ๋ฅผ ๋ด์•ผ ํ•œ๋‹ค.
+    http://kernelnewbies.org
+๊ทธ๊ณณ์€ ๊ฑฐ์˜ ๋ชจ๋“  ์ข…๋ฅ˜์˜ ๊ธฐ๋ณธ์ ์ธ ์ปค๋„ ๊ฐœ๋ฐœ ์งˆ๋ฌธ๋“ค(์งˆ๋ฌธํ•˜๊ธฐ ์ „์— ๋จผ์ €
+์•„์นด์ด๋ธŒ๋ฅผ ์ฐพ์•„๋ด๋ผ. ๊ณผ๊ฑฐ์— ์ด๋ฏธ ๋‹ต๋ณ€๋˜์—ˆ์„ ์ˆ˜๋„ ์žˆ๋‹ค)์„ ํ• ์ˆ˜์žˆ๋Š” ๋„์›€์ด
+๋ ๋งŒํ•œ ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ๊ฐ€ ์žˆ๋‹ค. ๋˜ํ•œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์งˆ๋ฌธ ํ• ์ˆ˜ ์žˆ๋Š” IRC ์ฑ„๋„๋„
+๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๊ฐœ๋ฐœ์„ ๋ฐฐ์šฐ๋Š” ๋ฐ ์œ ์šฉํ•œ ๋ฌธ์„œ๋“ค์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋‹ค.
+
+์›น์‚ฌ์ดํŠธ๋Š” ์ฝ”๋“œ๊ตฌ์„ฑ, ์„œ๋ธŒ์‹œ์Šคํ…œ๋“ค, ๊ทธ๋ฆฌ๊ณ  ํ˜„์žฌ ํ”„๋กœ์ ํŠธ๋“ค
+(ํŠธ๋ฆฌ ๋‚ด, ์™ธ๋ถ€์— ์กด์žฌํ•˜๋Š”)์— ๊ด€ํ•œ ๊ธฐ๋ณธ์ ์ธ ์ •๋ณด๋“ค์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋˜ํ•œ
+๊ทธ๊ณณ์€ ์ปค๋„ ์ปดํŒŒ์ผ์ด๋‚˜ ํŒจ์น˜๋ฅผ ํ•˜๋Š” ๋ฒ•๊ณผ ๊ฐ™์€ ๊ธฐ๋ณธ์ ์ธ ๊ฒƒ๋“ค์„  ์„ค๋ช…ํ•œ๋‹ค.
+
+์—ฌ๋Ÿฌ๋ถ„์ด ์–ด๋””์„œ ์‹œ์ž‘ํ•ด์•ผ ํ• ์ง„ ๋ชจ๋ฅด์ง€๋งŒ ์ปค๋„ ๊ฐœ๋ฐœ ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์ฐธ์—ฌํ•  ์ˆ˜
+์žˆ๋Š” ์ผ๋“ค์„ ์ฐพ๊ธธ ์›ํ•œ๋‹ค๋ฉด ๋ฆฌ๋ˆ…์Šค ์ปค๋„ Janitor ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ดํŽด๋ด๋ผ.
+         http://janitor.kernelnewbies.org/
+๊ทธ๊ณณ์€ ์‹œ์ž‘ํ•˜๊ธฐ์— ์•„์ฃผ ๋”ฑ ์ข‹์€ ๊ณณ์ด๋‹ค. ๊ทธ๊ณณ์€ ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ์†Œ์Šค ํŠธ๋ฆฌ๋‚ด์—
+๊ฐ„๋‹จํžˆ ์ •๋ฆฌ๋˜๊ณ  ์ˆ˜์ •๋  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋“ค์— ๊ด€ํ•˜์—ฌ ์„ค๋ช…ํ•œ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์€ ์ด
+ํ”„๋กœ์ ํŠธ๋ฅผ ๋Œ€ํ‘œํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋“ค๊ณผ ์ผํ•˜๋ฉด์„œ ์ž์‹ ์˜ ํŒจ์น˜๋ฅผ ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ํŠธ๋ฆฌ์—
+๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ณธ์ ์ธ ๊ฒƒ๋“ค์„ ๋ฐฐ์šฐ๊ฒŒ ๋ ๊ฒƒ์ด๋ฉฐ ์—ฌ๋Ÿฌ๋ถ„์ด ์•„์ง ์•„์ด๋””์–ด๋ฅผ
+๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š๋‹ค๋ฉด ๋‹ค์Œ์— ๋ฌด์—‡์„ ํ•ด์•ผํ• ์ง€์— ๊ด€ํ•œ ๋ฐฉํ–ฅ์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์„
+๊ฒƒ์ด๋‹ค.
+
+์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์ด๋ฏธ ์ปค๋„ ํŠธ๋ฆฌ์— ๋ฐ˜์˜ํ•˜๊ธธ ์›ํ•˜๋Š” ์ฝ”๋“œ ๋ฌถ์Œ์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ
+์˜ฌ๋ฐ”๋ฅธ ํฌ๋งท์œผ๋กœ ํฌ์žฅํ•˜๋Š”๋ฐ ๋„์›€์ด ํ•„์š”ํ•˜๋‹ค๋ฉด ๊ทธ๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ๋•๊ธฐ ์œ„ํ•ด
+๋งŒ๋“ค์–ด์ง„ kernel-mentors ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ๋‹ค. ๊ทธ๊ณณ์€ ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ์ด๋ฉฐ
+๋‹ค์Œ์—์„œ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋‹ค.
+         http://selenic.com/mailman/listinfo/kernel-mentors
+
+๋ฆฌ๋ˆ…์Šค ์ปค๋„ ์ฝ”๋“œ์— ์‹ค์ œ ๋ณ€๊ฒฝ์„ ํ•˜๊ธฐ ์ „์— ๋ฐ˜๋“œ์‹œ ๊ทธ ์ฝ”๋“œ๊ฐ€ ์–ด๋–ป๊ฒŒ
+๋™์ž‘ํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ํŠน์ •ํ•œ ํˆด์˜
+๋„์›€์„ ๋นŒ๋ ค์„œ๋ผ๋„ ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์ฝ๋Š” ๊ฒƒ๋ณด๋‹ค ์ข‹์€ ๊ฒƒ์€ ์—†๋‹ค(๋Œ€๋ถ€๋ถ„์˜
+์ž์ž˜ํ•œ ๋ถ€๋ถ„๋“ค์€ ์ž˜ ์ฝ”๋ฉ˜ํŠธ๋˜์–ด ์žˆ๋‹ค). ๊ทธ๋Ÿฐ ํˆด๋“ค ์ค‘์— ํŠนํžˆ ์ถ”์ฒœํ• ๋งŒํ•œ
+๊ฒƒ์€ Linux Cross-Reference project์ด๋ฉฐ ๊ทธ๊ฒƒ์€ ์ž๊ธฐ ์ฐธ์กฐ ๋ฐฉ์‹์ด๋ฉฐ
+์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ธ๋ฑ์Šค๋œ ์›น ํŽ˜์ด์ง€๋“ค์˜ ํ˜•ํƒœ๋กœ ๋ณด์—ฌ์ค€๋‹ค. ์ตœ์‹ ์˜ ๋ฉ‹์ง„ ์ปค๋„
+์ฝ”๋“œ ์ €์žฅ์†Œ๋Š” ๋‹ค์Œ์„ ํ†ตํ•˜์—ฌ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋‹ค.
+      http://sosdg.org/~coywolf/lxr/
+
+
+๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค
+-------------
+
+๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋Š” ํ˜„์žฌ ๋ช‡๋ช‡ ๋‹ค๋ฅธ ๋ฉ”์ธ ์ปค๋„ "๋ธŒ๋žœ์น˜๋“ค"๊ณผ
+์„œ๋ธŒ์‹œ์Šคํ…œ์— ํŠนํ™”๋œ ์ปค๋„ ๋ธŒ๋žœ์น˜๋“ค๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ๋ช‡๋ช‡ ๋‹ค๋ฅธ ๋ฉ”์ธ
+๋ธŒ๋žœ์น˜๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
+  - main 2.6.x ์ปค๋„ ํŠธ๋ฆฌ
+  - 2.6.x.y - ์•ˆ์ •๋œ ์ปค๋„ ํŠธ๋ฆฌ
+  - 2.6.x -git ์ปค๋„ ํŒจ์น˜๋“ค
+  - 2.6.x -mm ์ปค๋„ ํŒจ์น˜๋“ค
+  - ์„œ๋ธŒ์‹œ์Šคํ…œ์„ ์œ„ํ•œ ์ปค๋„ ํŠธ๋ฆฌ๋“ค๊ณผ ํŒจ์น˜๋“ค
+
+2.6.x ์ปค๋„ ํŠธ๋ฆฌ
+---------------
+
+2.6.x ์ปค๋„๋“ค์€ Linux Torvalds๊ฐ€ ๊ด€๋ฆฌํ•˜๋ฉฐ kernel.org์˜ pub/linux/kernel/v2.6/
+๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์ฐธ์กฐ๋  ์ˆ˜ ์žˆ๋‹ค.๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
+  - ์ƒˆ๋กœ์šด ์ปค๋„์ด ๋ฐฐํฌ๋˜์ž๋งˆ์ž 2์ฃผ์˜ ์‹œ๊ฐ„์ด ์ฃผ์–ด์ง„๋‹ค. ์ด ๊ธฐ๊ฐ„๋™์€
+    ๋ฉ”์ธํŠธ๋„ˆ๋“ค์€ ํฐ diff๋“ค์„ Linus์—๊ฒŒ ์ œ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค. ๋Œ€๊ฐœ ์ด ํŒจ์น˜๋“ค์€
+    ๋ช‡ ์ฃผ ๋™์•ˆ -mm ์ปค๋„๋‚ด์— ์ด๋ฏธ ์žˆ์—ˆ๋˜ ๊ฒƒ๋“ค์ด๋‹ค. ํฐ ๋ณ€๊ฒฝ๋“ค์„ ์ œ์ถœํ•˜๋Š” ๋ฐ
+    ์„ ํ˜ธ๋˜๋Š” ๋ฐฉ๋ฒ•์€  git(์ปค๋„์˜ ์†Œ์Šค ๊ด€๋ฆฌ ํˆด, ๋” ๋งŽ์€ ์ •๋ณด๋“ค์€ http://git.or.cz/
+    ์—์„œ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋‹ค)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด์ง€๋งŒ ์ˆœ์ˆ˜ํ•œ ํŒจ์น˜ํŒŒ์ผ์˜ ํ˜•์‹์œผ๋กœ ๋ณด๋‚ด๋„
+    ๊ฒƒ๋„ ๋ฌด๊ด€ํ•˜๋‹ค.
+  - 2์ฃผ ํ›„์— -rc1 ์ปค๋„์ด ๋ฐฐํฌ๋˜๋ฉฐ ์ง€๊ธˆ๋ถ€ํ„ฐ๋Š” ์ „์ฒด ์ปค๋„์˜ ์•ˆ์ •์„ฑ์— ์˜ํ–ฅ์„
+    ๋ฏธ์น ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๋“ค์„ ํฌํ•จํ•˜์ง€ ์•Š๋Š” ํŒจ์น˜๋“ค๋งŒ์„ ์ถ”๊ฐ€๋  ์ˆ˜ ์žˆ๋‹ค.
+    ์™„์ „ํžˆ ์ƒˆ๋กœ์šด ๋“œ๋ผ์ด๋ฒ„(ํ˜น์€ ํŒŒ์ผ์‹œ์Šคํ…œ)๋Š” -rc1 ์ดํ›„์—๋งŒ ๋ฐ›์•„๋“ค์—ฌ์ง„๋‹ค๋Š”
+    ๊ฒƒ์„ ๊ธฐ์–ตํ•ด๋ผ. ์™œ๋ƒํ•˜๋ฉด ๋ณ€๊ฒฝ์ด ์ž์ฒด๋‚ด์—์„œ๋งŒ ๋ฐœ์ƒํ•˜๊ณ  ์ถ”๊ฐ€๋œ ์ฝ”๋“œ๊ฐ€
+    ๋“œ๋ผ์ด๋ฒ„ ์™ธ๋ถ€์˜ ๋‹ค๋ฅธ ๋ถ€๋ถ„์—๋Š” ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์œผ๋ฏ€๋กœ ๊ทธ๋Ÿฐ ๋ณ€๊ฒฝ์€
+    ํ‡ด๋ณด(regression)๋ฅผ ์ผ์œผํ‚ฌ ๋งŒํ•œ ์œ„ํ—˜์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. -rc1์ด
+    ๋ฐฐํฌ๋œ ์ดํ›„์— git๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒจ์น˜๋“ค์„ Linus์—๊ฒŒ ๋ณด๋‚ผ์ˆ˜ ์žˆ์ง€๋งŒ ํŒจ์น˜๋“ค์€
+    ๊ณต์‹์ ์ธ ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ๋กœ ๋ณด๋‚ด์„œ ๊ฒ€ํ† ๋ฅผ ๋ฐ›์„ ํ•„์š”๊ฐ€ ์žˆ๋‹ค.
+  - ์ƒˆ๋กœ์šด -rc๋Š” Linus๋Š” ํ˜„์žฌ git tree๊ฐ€ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ์— ์ถฉ๋ถ„ํžˆ ์•ˆ์ •๋œ ์ƒํƒœ์—
+    ์žˆ๋‹ค๊ณ  ํŒ๋‹จ๋  ๋•Œ๋งˆ๋‹ค ๋ฐฐํฌ๋œ๋‹ค. ๋ชฉํ‘œ๋Š” ์ƒˆ๋กœ์šด -rc ์ปค๋„์„ ๋งค์ฃผ ๋ฐฐํฌํ•˜๋Š”
+    ๊ฒƒ์ด๋‹ค.
+  - ์ด๋Ÿฌํ•œ ํ”„๋กœ์„ธ์Šค๋Š” ์ปค๋„์ด "์ค€๋น„"๋˜์—ˆ๋‹ค๊ณ  ์—ฌ๊ฒจ์งˆ๋•Œ๊นŒ์ง€ ๊ณ„์†๋œ๋‹ค.
+    ํ”„๋กœ์„ธ์Šค๋Š” ๋Œ€์ฒด๋กœ 6์ฃผ๊ฐ„ ์ง€์†๋œ๋‹ค.
+    - ๊ฐ -rc ๋ฐฐํฌ์— ์žˆ๋Š” ์•Œ๋ ค์ง„ ํ‡ด๋ณด์˜ ๋ชฉ๋ก๋“ค์€ ๋‹ค์Œ URI์— ๋‚จ๊ฒจ์ง„๋‹ค.
+    http://kernelnewbies.org/known_regressions
+
+์ปค๋„ ๋ฐฐํฌ์— ์žˆ์–ด์„œ ์–ธ๊ธ‰ํ• ๋งŒํ•œ ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š” ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ์˜
+Andrew Morton์˜ ๊ธ€์ด ์žˆ๋‹ค.
+        "์ปค๋„์ด ์–ธ์ œ ๋ฐฐํฌ๋ ์ง€๋Š” ์•„๋ฌด๋กœ ๋ชจ๋ฅธ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๋ฐฐํฌ๋Š” ์•Œ๋ ค์ง„
+         ๋ฒ„๊ทธ์˜ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋ฐฐํฌ๋˜๋Š” ๊ฒƒ์ด์ง€ ๋ฏธ๋ฆฌ์ •ํ•ด ๋†“์€ ์‹œ๊ฐ„์— ๋”ฐ๋ผ
+          ๋ฐฐํฌ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค."
+
+2.6.x.y - ์•ˆ์ • ์ปค๋„ ํŠธ๋ฆฌ
+------------------------
+
+4 ์ž๋ฆฌ ์ˆซ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฒ„์ ผ์˜ ์ปค๋„๋“ค์€ -stable ์ปค๋„๋“ค์ด๋‹ค. ๊ทธ๊ฒƒ๋“ค์€ 2.6.x
+์ปค๋„์—์„œ ๋ฐœ๊ฒฌ๋œ ํฐ ํ‡ด๋ณด๋“ค์ด๋‚˜ ๋ณด์•ˆ ๋ฌธ์ œ๋“ค ์ค‘ ๋น„๊ต์  ์ž‘๊ณ  ์ค‘์š”ํ•œ ์ˆ˜์ •๋“ค์„
+ํฌํ•จํ•œ๋‹ค.
+
+์ด๊ฒƒ์€ ๊ฐ€์žฅ ์ตœ๊ทผ์˜ ์•ˆ์ •์ ์ธ ์ปค๋„์„ ์›ํ•˜๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์ถ”์ฒœ๋˜๋Š” ๋ธŒ๋žœ์น˜์ด๋ฉฐ,
+๊ฐœ๋ฐœ/์‹คํ—˜์  ๋ฒ„์ ผ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒƒ์„ ๋•๋Š”๋ฐ๋Š” ๋ณ„๋กœ ๊ด€์‹ฌ์ด ์—†๋‹ค.
+
+์–ด๋–ค 2.6.x.y ์ปค๋„๋„ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜์ง€ ์•Š๋‹ค๋ฉด ๊ทธ๋•Œ๋Š” ๊ฐ€์žฅ ๋†’์€ ์ˆซ์ž์˜ 2.6.x
+์ปค๋„์ด ํ˜„์žฌ์˜ ์•ˆ์ • ์ปค๋„์ด๋‹ค.
+
+2.6.x.y๋Š” "stable" ํŒ€<stable@kernel.org>์— ์˜ํ•ด ๊ด€๋ฆฌ๋˜๋ฉฐ ๊ฑฐ์˜ ๋งค๋ฒˆ ๊ฒฉ์ฃผ๋กœ
+๋ฐฐํฌ๋œ๋‹ค.
+
+์ปค๋„ ํŠธ๋ฆฌ ๋ฌธ์„œ๋“ค ๋‚ด์— Documentation/stable_kernel_rules.txt ํŒŒ์ผ์€ ์–ด๋–ค
+์ข…๋ฅ˜์˜ ๋ณ€๊ฒฝ๋“ค์ด -stable ํŠธ๋ฆฌ๋กœ ๋“ค์–ด์™”๋Š”์ง€์™€ ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์–ด๋–ป๊ฒŒ
+์ง„ํ–‰๋˜๋Š”์ง€๋ฅผ ์„ค๋ช…ํ•œ๋‹ค.
+
+
+2.6.x -git ํŒจ์น˜๋“ค
+------------------
+git ์ €์žฅ์†Œ(๊ทธ๋Ÿฌ๋ฏ€๋กœ -git์ด๋ผ๋Š” ์ด๋ฆ„์ด ๋ถ™์Œ)์—๋Š” ๋‚ ๋งˆ๋‹ค ๊ด€๋ฆฌ๋˜๋Š” Linus์˜
+์ปค๋„ ํŠธ๋ฆฌ์˜ snapshot ๋“ค์ด ์žˆ๋‹ค. ์ด ํŒจ์น˜๋“ค์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‚ ๋งˆ๋‹ค ๋ฐฐํฌ๋˜๋ฉฐ
+Linus์˜ ํŠธ๋ฆฌ์˜ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ด ํŒจ์น˜๋“ค์€ ์ •์ƒ์ ์ธ์ง€ ์กฐ๊ธˆ๋„
+์‚ดํŽด๋ณด์ง€ ์•Š๊ณ  ์ž๋™์ ์œผ๋กœ ์ƒ์„ฑ๋œ ๊ฒƒ์ด๋ฏ€๋กœ -rc ์ปค๋„๋“ค ๋ณด๋‹ค๋„ ๋” ์‹คํ—˜์ ์ด๋‹ค.
+
+2.6.x -mm ์ปค๋„ ํŒจ์น˜๋“ค
+---------------------
+Andrew Morton์— ์˜ํ•ด ๋ฐฐํฌ๋œ ์‹คํ—˜์ ์ธ ์ปค๋„ ํŒจ์น˜๋“ค์ด๋‹ค. Andrew๋Š” ๋ชจ๋“  ๋‹ค๋ฅธ
+์„œ๋ธŒ์‹œ์Šคํ…œ ์ปค๋„ ํŠธ๋ฆฌ์™€ ํŒจ์น˜๋“ค์„ ๊ฐ€์ ธ์™€์„œ ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ๋กœ
+์˜จ ๋งŽ์€ ํŒจ์น˜๋“ค๊ณผ ํ•œ๋ฐ ๋ฌถ๋Š”๋‹ค. ์ด ํŠธ๋ฆฌ๋Š” ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๋“ค๊ณผ ํŒจ์น˜๋“ค์„ ์œ„ํ•œ
+์žฅ์†Œ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ํ•˜๋‚˜์˜ ํŒจ์น˜๊ฐ€ -mm์— ํ•œ๋™์•ˆ ์žˆ์œผ๋ฉด์„œ ๊ทธ ๊ฐ€์น˜๊ฐ€
+์ฆ๋ช…๋˜๊ฒŒ ๋˜๋ฉด Andrew๋‚˜ ์„œ๋ธŒ์‹œ์Šคํ…œ ๋ฉ”์ธํŠธ๋„ˆ๋Š” ๊ทธ๊ฒƒ์„ ๋ฉ”์ธ๋ผ์ธ์— ํฌํ•จ์‹œํ‚ค๊ธฐ
+์œ„ํ•˜์—ฌ Linus์—๊ฒŒ ๋ณด๋‚ธ๋‹ค.
+
+์ปค๋„ ํŠธ๋ฆฌ์— ํฌํ•จํ•˜๊ณ  ์‹ถ์€ ๋ชจ๋“  ์ƒˆ๋กœ์šด ํŒจ์น˜๋“ค์€ Linus์—๊ฒŒ ๋ณด๋‚ด์ง€๊ธฐ ์ „์—
+-mm ํŠธ๋ฆฌ์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋Š” ๊ฒƒ์„ ์ ๊ทน ์ถ”์ฒœํ•œ๋‹ค.
+
+์ด ์ปค๋„๋“ค์€ ์•ˆ์ •๋˜๊ฒŒ ์‚ฌ์šฉํ•  ์‹œ์Šคํ…œ์—์„œ์— ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์€ ์ ํ•ฉํ•˜์ง€ ์•Š์œผ๋ฉฐ
+๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋“ค์˜ ์–ด๋–ค ๊ฒƒ๋“ค๋ณด๋‹ค ์œ„ํ—˜ํ•˜๋‹ค.
+
+์—ฌ๋Ÿฌ๋ถ„์ด ์ปค๋„ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋•๊ธธ ์›ํ•œ๋‹ค๋ฉด ์ด ์ปค๋„ ๋ฐฐํฌ๋“ค์„ ์‚ฌ์šฉํ•˜๊ณ 
+ํ…Œ์ŠคํŠธํ•œ ํ›„ ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ฑฐ๋‚˜ ๋˜๋Š” ๋ชจ๋“  ๊ฒƒ์ด ์ž˜ ๋™์ž‘ํ•œ๋‹ค๋ฉด ๋ฆฌ๋ˆ…์Šค
+์ปค๋„ ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ๋กœ ํ”ผ๋“œ๋ฐฑ์„ ํ•ด๋‹ฌ๋ผ.
+
+์ด ์ปค๋„๋“ค์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ชจ๋“  ๋‹ค๋ฅธ ์‹คํ—˜์ ์ธ ํŒจ์น˜๋“ค๊ณผ ๋ฐฐํฌ๋  ๋‹น์‹œ์˜
+์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ๋ฉ”์ธ๋ผ์ธ -git ์ปค๋„๋“ค์˜ ๋ช‡๋ช‡ ๋ณ€๊ฒฝ์„ ํฌํ•จํ•œ๋‹ค.
+
+-mm ์ปค๋„๋“ค์€ ์ •ํ•ด์ง„ ์ผ์ •๋Œ€๋กœ ๋ฐฐํฌ๋˜์ง€ ์•Š๋Š”๋‹ค. ํ•˜์ง€๋งŒ ๋Œ€๊ฐœ ๋ช‡๋ช‡ -mm ์ปค๋„๋“ค์€
+๊ฐ -rc ์ปค๋„(1๋ถ€ํ„ฐ 3์ด ํ”ํ•จ) ์‚ฌ์ด์—์„œ ๋ฐฐํฌ๋œ๋‹ค.
+
+์„œ๋ธŒ์‹œ์Šคํ…œ ์ปค๋„ ํŠธ๋ฆฌ๋“ค๊ณผ ํŒจ์น˜๋“ค
+-------------------------------
+๋งŽ์€ ๋‹ค๋ฅธ ์ปค๋„ ์„œ๋ธŒ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ์ž๋“ค์€ ์ปค๋„์˜ ๋‹ค๋ฅธ ๋ถ€๋ถ„๋“ค์—์„œ ๋ฌด์Šจ ์ผ์ด
+์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š”์ง€๋ฅผ ๋ณผ์ˆ˜ ์žˆ๋„๋ก ๊ทธ๋“ค์˜ ๊ฐœ๋ฐœ ํŠธ๋ฆฌ๋ฅผ ๊ณต๊ฐœํ•œ๋‹ค. ์ด ํŠธ๋ฆฌ๋“ค์€
+์œ„์—์„œ ์„ค๋ช…ํ•˜์˜€๋˜ ๊ฒƒ ์ฒ˜๋Ÿผ -mm ์ปค๋„ ๋ฐฐํฌ๋“ค๋กœ ํ•ฉ์ณ์ง„๋‹ค.
+
+๋‹ค์Œ์€  ํ™œ์šฉ๊ฐ€๋Šฅํ•œ ์ปค๋„ ํŠธ๋ฆฌ๋“ค์„ ๋‚˜์—ดํ•œ๋‹ค.
+  git trees:
+    - Kbuild development tree, Sam Ravnborg < sam@ravnborg.org>
+    git.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild.git
+
+    - ACPI development tree, Len Brown <len.brown@intel.com >
+    git.kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git
+
+    - Block development tree, Jens Axboe <axboe@suse.de>
+    git.kernel.org:/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git
+
+    - DRM development tree, Dave Airlie <airlied@linux.ie>
+    git.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6.git
+
+    - ia64 development tree, Tony Luck < tony.luck@intel.com>
+    git.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6.git
+
+    - infiniband, Roland Dreier <rolandd@cisco.com >
+    git.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband.git
+
+    - libata, Jeff Garzik <jgarzik@pobox.com>
+    git.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev.git
+
+    - network drivers, Jeff Garzik <jgarzik@pobox.com>
+    git.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git
+
+    - pcmcia, Dominik Brodowski < linux@dominikbrodowski.net>
+    git.kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6.git
+
+    - SCSI, James Bottomley < James.Bottomley@SteelEye.com>
+    git.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git
+
+  quilt trees:
+    - USB, PCI, Driver Core, and I2C, Greg Kroah-Hartman < gregkh@suse.de>
+    kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/
+    - x86-64, partly i386, Andi Kleen < ak@suse.de>
+        ftp.firstfloor.org:/pub/ak/x86_64/quilt/
+
+  ๋‹ค๋ฅธ ์ปค๋„ ํŠธ๋ฆฌ๋“ค์€ http://kernel.org/git์™€ MAINTAINERS ํŒŒ์ผ์—์„œ ์ฐธ์กฐํ•  ์ˆ˜
+  ์žˆ๋‹ค.
+
+๋ฒ„๊ทธ ๋ณด๊ณ 
+---------
+bugzilla.kernel.org๋Š” ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๊ฐœ๋ฐœ์ž๋“ค์ด ์ปค๋„์˜ ๋ฒ„๊ทธ๋ฅผ ์ถ”์ ํ•˜๋Š” ๊ณณ์ด๋‹ค.
+์‚ฌ์šฉ์ž๋“ค์€ ๋ฐœ๊ฒฌํ•œ ๋ชจ๋“  ๋ฒ„๊ทธ๋“ค์„ ๋ณด๊ณ ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ์ด ํˆด์„ ์‚ฌ์šฉํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค.
+kernel bugzilla๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ž์„ธํ•œ ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ์„ ์ฐธ์กฐํ•˜๋ผ.
+    http://test.kernel.org/bugzilla/faq.html
+
+๋ฉ”์ธ ์ปค๋„ ์†Œ์Šค ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” REPORTING-BUGS ํŒŒ์ผ์€ ์ปค๋„ ๋ฒ„๊ทธ์ผ ๊ฒƒ ๊ฐ™์€
+๊ฒƒ์„ ๋ณด๊ณ ํ•˜๋Š”๋Š” ๋ฒ•์— ๊ด€ํ•œ ์ข‹์€ ํ…œํ”Œ๋ฆฟ์ด๊ณ  ๋ฌธ์ œ๋ฅผ ์ถ”์ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ปค๋„
+๊ฐœ๋ฐœ์ž๋“ค์ด ํ•„์š”๋กœ ํ•˜๋Š” ์ •๋ณด๊ฐ€ ๋ฌด์—‡๋“ค์ธ์ง€๋ฅผ ์ƒ์„ธํžˆ ์„ค๋ช…ํ•˜๊ณ  ์žˆ๋‹ค.
+
+
+๋ฒ„๊ทธ ๋ฆฌํฌํŠธ๋“ค์˜ ๊ด€๋ฆฌ
+--------------------
+
+์—ฌ๋Ÿฌ๋ถ„์˜ ํ•ดํ‚น ๊ธฐ์ˆ ์„ ์—ฐ์Šตํ•˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ• ์ค‘์˜ ํ•˜๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด
+๋ณด๊ณ ํ•œ ๋ฒ„๊ทธ๋“ค์„ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์€ ์ปค๋„์„ ๋”์šฑ ์•ˆ์ •ํ™”์‹œํ‚ค๋Š”๋ฐ
+๋„์›€์„ ์ค„ ๋ฟ๋งŒ์ด ์•„๋‹ˆ๋ผ ์‹ค์ œ์žˆ๋Š” ๋ฌธ์ œ๋“ค์„ ์ˆ˜์ •ํ•˜๋Š” ๋ฒ•์„ ๋ฐฐ์šฐ๊ฒŒ ๋˜๊ณ 
+๊ทธ์™€ ํ•จ๊ป˜ ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ๊ธฐ์ˆ ์€ ํ–ฅ์ƒ๋  ๊ฒƒ์ด๋ฉฐ ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋“ค์ด ์—ฌ๋Ÿฌ๋ถ„์˜
+์กด์žฌ์— ๋Œ€ํ•ด ์•Œ๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์€ ๊ฐœ๋ฐœ์ž๋“ค  ์‚ฌ์ด์—์„œ
+์ ์ˆ˜๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์ค‘์˜ ํ•˜๋‚˜์ด๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์€
+๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ๋ฒ„๊ทธ๋“ค์„ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ์‹œ๊ฐ„์„ ๋‚ญ๋น„ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
+
+์ด๋ฏธ ๋ณด๊ณ ๋œ ๋ฒ„๊ทธ ๋ฆฌํฌํŠธ๋“ค์„ ๊ฐ€์ง€๊ณ  ์ž‘์—…ํ•˜๊ธฐ ์œ„ํ•ด์„œ http://bugzilla.kernelorg๋ฅผ
+์ฐธ์กฐํ•˜๋ผ. ์—ฌ๋Ÿฌ๋ถ„์ด ์•ž์œผ๋กœ ์ƒ๊ฒจ๋‚  ๋ฒ„๊ทธ ๋ฆฌํฌํŠธ๋“ค์˜ ์กฐ์–ธ์ž๊ฐ€ ๋˜๊ธธ ์›ํ•œ๋‹ค๋ฉด
+bugme-new ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ๋‚˜(์ƒˆ๋กœ์šด ๋ฒ„๊ทธ ๋ฆฌํฌํŠธ๋“ค๋งŒ์ด ์ด๊ณณ์—์„œ ๋ฉ”์ผ๋กœ ์ „ํ•ด์ง„๋‹ค)
+bugme-janitor ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ(bugzilla์— ๋ชจ๋“  ๋ณ€ํ™”๋“ค์ด ์—ฌ๊ธฐ์„œ ๋ฉ”์ผ๋กœ ์ „ํ•ด์ง„๋‹ค)
+์— ๋“ฑ๋กํ•˜๋ฉด ๋œ๋‹ค.
+
+      http://lists.osdl.org/mailman/listinfo/bugme-new
+      http://lists.osdl.org/mailman/listinfo/bugme-janitors
+
+
+
+๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ๋“ค
+---------------
+
+์œ„์˜ ๋ช‡๋ช‡ ๋ฌธ์„œ๋“ค์ด ์„ค๋ช…ํ•˜์˜€์ง€๋งŒ ํ•ต์‹ฌ ์ปค๋„ ๊ฐœ๋ฐœ์ž๋“ค์˜ ๋Œ€๋‹ค์ˆ˜๋Š”
+๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ์— ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋‹ค. ๋ฆฌ์ŠคํŠธ์— ๋“ฑ๋กํ•˜๊ณ  ํ•ด์ง€ํ•˜๋Š”
+๋ฐฉ๋ฒ•์— ๊ด€ํ•œ ์ž์„ธํ•œ ์‚ฌํ•ญ์€ ๋‹ค์Œ์—์„œ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋‹ค.
+    http://vger.kernel.org/vger-lists.html#linux-kernel
+์›น์ƒ์˜ ๋งŽ์€ ๋‹ค๋ฅธ ๊ณณ์—๋„ ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ์˜ ์•„์นด์ด๋ธŒ๋“ค์ด ์žˆ๋‹ค.
+์ด๋Ÿฌํ•œ ์•„์นด์ด๋ธŒ๋“ค์„ ์ฐพ์œผ๋ ค๋ฉด ๊ฒ€์ƒ‰ ์—”์ง„์„ ์‚ฌ์šฉํ•˜๋ผ. ์˜ˆ๋ฅผ ๋“ค์–ด:
+      http://dir.gmane.org/gmane.linux.kernel
+์—ฌ๋Ÿฌ๋ถ„์ด ์ƒˆ๋กœ์šด ๋ฌธ์ œ์— ๊ด€ํ•ด ๋ฆฌ์ŠคํŠธ์— ์˜ฌ๋ฆฌ๊ธฐ ์ „์— ๋งํ•˜๊ณ  ์‹ถ์€ ์ฃผ์ œ์— ๋Œ€ํ•œ
+๊ฒƒ์„ ์•„์นด์ด๋ธŒ์—์„œ ๋จผ์ € ์ฐพ๊ธฐ๋ฅผ ๊ฐ•๋ ฅํžˆ ๊ถŒ์žฅํ•œ๋‹ค. ์ด๋ฏธ ์ƒ์„ธํ•˜๊ฒŒ ํ† ๋ก ๋œ ๋งŽ์€
+๊ฒƒ๋“ค์ด ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ์˜ ์•„์นด์ด๋ธŒ์— ๊ธฐ๋ก๋˜์–ด ์žˆ๋‹ค.
+
+๊ฐ๊ฐ์˜ ์ปค๋„ ์„œ๋ธŒ์‹œ์Šคํ…œ๋“ค์˜ ๋Œ€๋ถ€๋ถ„์€ ์ž์‹ ๋“ค์˜ ๊ฐœ๋ฐœ์— ๊ด€ํ•œ ๋…ธ๋ ฅ๋“ค๋กœ ์ด๋ฃจ์–ด์ง„
+๋ถ„๋ฆฌ๋œ ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ๋ฅผ ๋”ฐ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋‹ค๋ฅธ ๊ทธ๋ฃน๋“ค์ด ๋ฌด์Šจ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ฐ€์ง€๊ณ 
+์žˆ๋Š”์ง€๋Š” MAINTAINERS ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜๋ผ.
+
+๋งŽ์€ ๋ฆฌ์ŠคํŠธ๋“ค์€ kernel.org์—์„œ ํ˜ธ์ŠคํŠธ๋˜๊ณ  ์žˆ๋‹ค. ๊ทธ ์ •๋ณด๋“ค์€ ๋‹ค์Œ์—์„œ ์ฐธ์กฐ๋  ์ˆ˜ ์žˆ๋‹ค.
+         http://vger.kernel.org/vger-lists.html
+
+๋ฆฌ์ŠคํŠธ๋“ค์„ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์˜ฌ๋ฐ”๋ฅธ ์˜ˆ์ ˆ์„ ๋”ฐ๋ฅผ ๊ฒƒ์„ ์œ ๋…ํ•ด๋ผ.
+๋Œ€๋‹จํ•˜์ง„ ์•Š์ง€๋งŒ ๋‹ค์Œ URL์€ ๋ฆฌ์ŠคํŠธ(ํ˜น์€ ๋ชจ๋“  ๋ฆฌ์ŠคํŠธ)์™€ ๋Œ€ํ™”ํ•˜๋Š” ๋ช‡๋ช‡ ๊ฐ„๋‹จํ•œ
+๊ฐ€์ด๋“œ๋ผ์ธ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
+         http://www.albion.com/netiquette/
+
+์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๋“ค์ด ์—ฌ๋Ÿฌ๋ถ„์˜ ๋ฉ”์ผ์— ์‘๋‹ตํ•œ๋‹ค๋ฉด CC: ์ฆ‰ ์ˆ˜์‹  ๋ฆฌ์ŠคํŠธ๋Š” ๊ฝค ์ปค์ง€๊ฒŒ
+๋  ๊ฒƒ์ด๋‹ค. ์•„๋ฌด ์ด์œ ์—†์ด CC์—์„œ ์–ด๋–ค ์‚ฌ๋žŒ๋„ ์ œ๊ฑฐํ•˜๊ฑฐ๋‚˜ ๋ฆฌ์ŠคํŠธ ์ฃผ์†Œ๋กœ๋งŒ
+ํšŒ์‹ ํ•˜์ง€ ๋งˆ๋ผ. ๋ฉ”์ผ์„ ๋ณด๋‚ธ ์‚ฌ๋žŒ์œผ๋กœ์„œ ํ•˜๋‚˜๋ฅผ ๋ฐ›๊ณ  ๋ฆฌ์ŠคํŠธ๋กœ๋ถ€ํ„ฐ ๋˜
+ํ•˜๋‚˜๋ฅผ ๋ฐ›์•„ ๋‘๋ฒˆ ๋ฐ›๋Š” ๊ฒƒ์— ์ต์ˆ™ํ•˜์—ฌ ์žˆ์œผ๋‹ˆ mail-header๋ฅผ ์กฐ์ž‘ํ•˜๋ ค๊ณ  ํ•˜์ง€
+๋ง์•„๋ผ. ์‚ฌ๋žŒ๋“ค์€ ๊ทธ๋Ÿฐ ๊ฒƒ์„ ์ข‹์•„ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค.
+
+์—ฌ๋Ÿฌ๋ถ„์˜ ํšŒ์‹ ์˜ ๋ฌธ๋งฅ์„ ์›๋ž˜๋Œ€๋กœ ์œ ์ง€ํ•ด์•ผ ํ•œ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ํšŒ์‹ ์˜ ์œ—๋ถ€๋ถ„์—
+"John ์ปค๋„ํ•ด์ปค๋Š” ์ž‘์„ฑํ–ˆ๋‹ค...."๋ฅผ ์œ ์ง€ํ•˜๋ฉฐ ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ์˜๊ฒฌ์„ ๊ทธ ๋ฉ”์ผ์˜ ์œ—๋ถ€๋ถ„์—
+์ž‘์„ฑํ•˜์ง€ ๋ง๊ณ  ๊ฐ ์ธ์šฉํ•œ ๋‹จ๋ฝ๋“ค ์‚ฌ์ด์— ๋„ฃ์–ด๋ผ.
+
+์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ํŒจ์น˜๋“ค์„ ๋ฉ”์ผ์— ๋„ฃ๋Š”๋‹ค๋ฉด ๊ทธ๊ฒƒ๋“ค์€ Documentation/SubmittingPatches์—
+๋‚˜์™€์žˆ๋Š”๋ฐ๋กœ ๋ช…๋ฐฑํžˆ(plain) ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ์—ฌ์•ผ ํ•œ๋‹ค. ์ปค๋„ ๊ฐœ๋ฐœ์ž๋“ค์€
+์ฒจ๋ถ€ํŒŒ์ผ์ด๋‚˜ ์••์ถ•๋œ ํŒจ์น˜๋“ค์„ ์›ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋“ค์€ ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ํŒจ์น˜์˜
+๊ฐ ๋ผ์ธ ๋‹จ์œ„๋กœ ์ฝ”๋ฉ˜ํŠธ๋ฅผ ํ•˜๊ธธ ์›ํ•˜๋ฉฐ ์••์ถ•ํ•˜๊ฑฐ๋‚˜ ์ฒจ๋ถ€ํ•˜์ง€ ์•Š๊ณ  ๋ณด๋‚ด๋Š” ๊ฒƒ์ด
+๊ทธ๋ ‡๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค. ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์ผ ํ”„๋กœ๊ทธ๋žจ์ด
+์ŠคํŽ˜์ด์Šค๋‚˜ ํƒญ ๋ฌธ์ž๋“ค์„ ์กฐ์ž‘ํ•˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•˜๋ผ. ๊ฐ€์žฅ ์ข‹์€ ์ฒซ ํ…Œ์ŠคํŠธ๋Š”
+๋ฉ”์ผ์„ ์ž์‹ ์—๊ฒŒ ๋ณด๋‚ด๋ณด๊ณ  ์Šค์Šค๋กœ ๊ทธ ํŒจ์น˜๋ฅผ ์ ์šฉํ•ด๋ณด๋ผ. ๊ทธ๊ฒƒ์ด ๋™์ž‘ํ•˜์ง€
+์•Š๋Š”๋‹ค๋ฉด ์—ฌ๋Ÿฌ๋ถ„์˜ ๋ฉ”์ผ ํ”„๋กœ๊ทธ๋žจ์„ ๊ณ ์น˜๋˜๊ฐ€ ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ
+๋ฐ”๊พธ์–ด๋ผ.
+
+๋ฌด์—‡๋ณด๋‹ค๋„ ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ์˜ ๋‹ค๋ฅธ ๊ตฌ๋…์ž๋“ค์—๊ฒŒ ๋ณด์—ฌ์ฃผ๋ ค ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๊ธฐ์–ตํ•˜๋ผ.
+
+
+์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ์ผํ•˜๋Š” ๋ฒ•
+--------------------
+
+์ปค๋„ ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ๋ชฉ์ ์€ ๊ฐ€๋Šฅํ•œํ•œ ๊ฐ€์žฅ ์ข‹์€ ์ปค๋„์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์ด
+๋ฐ›์•„๋“ค์—ฌ์งˆ ํŒจ์น˜๋ฅผ ์ œ์ถœํ•˜๊ฒŒ ๋˜๋ฉด ๊ทธ ํŒจ์น˜์˜ ๊ธฐ์ˆ ์ ์ธ ์ด์ ์œผ๋กœ ๊ฒ€ํ† ๋  ๊ฒƒ์ด๋‹ค.
+๊ทธ๋Ÿผ ์—ฌ๋Ÿฌ๋ถ„๋“ค์€ ๋ฌด์—‡์„ ๊ธฐ๋Œ€ํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•˜๋Š”๊ฐ€?
+ - ๋น„ํŒ
+ - ์˜๊ฒฌ
+ - ๋ณ€๊ฒฝ์„ ์œ„ํ•œ ์š”๊ตฌ
+ - ๋‹น์œ„์„ฑ์„ ์œ„ํ•œ ์š”๊ตฌ
+ - ๊ณ ์š”
+
+๊ธฐ์–ตํ•˜๋ผ. ์ด๊ฒƒ๋“ค์€ ์—ฌ๋Ÿฌ๋ถ„์˜ ํŒจ์น˜๊ฐ€ ์ปค๋„๋กœ ๋“ค์–ด๊ฐ€๊ธฐ ์œ„ํ•œ ๊ณผ์ •์ด๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์˜
+ํŒจ์น˜๋“ค์€ ๋น„ํŒ๊ณผ ๋‹ค๋ฅธ ์˜๊ฒฌ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ณ  ๊ทธ๊ฒƒ๋“ค์„ ๊ธฐ์ˆ ์ ์ธ ๋ ˆ๋ฒจ๋กœ ํ‰๊ฐ€ํ•˜๊ณ 
+์žฌ์ž‘์—…ํ•˜๊ฑฐ๋‚˜ ๋˜๋Š” ์™œ ์ˆ˜์ •ํ•˜๋ฉด ์•ˆ๋˜๋Š”์ง€์— ๊ด€ํ•˜์—ฌ ๋ช…๋ฃŒํ•˜๊ณ  ๊ฐ„๊ฒฐํ•œ ์ด์œ ๋ฅผ
+๋งํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์ด ์ œ์ถœํ•œ ๊ฒƒ์— ์–ด๋–ค ์‘๋‹ต๋„ ์žˆ์ง€ ์•Š๋‹ค๋ฉด ๋ช‡ ์ผ์„
+๊ธฐ๋‹ค๋ ค๋ณด๊ณ  ๋‹ค์‹œ ์‹œ๋„ํ•ด๋ผ. ๋•Œ๋ก  ๋„ˆ๋ฌด ๋งŽ์€ ๋ฉ”์ผ๋“ค ์†์— ๋ฌปํ˜€๋ฒ„๋ฆฌ๊ธฐ๋„ ํ•œ๋‹ค.
+
+์—ฌ๋Ÿฌ๋ถ„์€ ๋ฌด์—‡์„ ํ•ด์„œ๋Š” ์•ˆ๋˜๋Š”๊ฐ€?
+ - ์—ฌ๋Ÿฌ๋ถ„์˜ ํŒจ์น˜๊ฐ€ ์•„๋ฌด ์งˆ๋ฌธ ์—†์ด ๋ฐ›์•„๋“ค์—ฌ์ง€๊ธฐ๋ฅผ ๊ธฐ๋Œ€ํ•˜๋Š” ๊ฒƒ
+ - ๋ฐฉ์–ด์ ์ด ๋˜๋Š” ๊ฒƒ
+ - ์˜๊ฒฌ์„ ๋ฌด์‹œํ•˜๋Š” ๊ฒƒ
+ - ์š”์ฒญ๋œ ๋ณ€๊ฒฝ์„ ํ•˜์ง€ ์•Š๊ณ  ํŒจ์น˜๋ฅผ ๋‹ค์‹œ ์ œ์ถœํ•˜๋Š” ๊ฒƒ
+
+๊ฐ€๋Šฅํ•œํ•œ ๊ฐ€์žฅ ์ข‹์€ ๊ธฐ์ˆ ์ ์ธ ํ•ด๋‹ต์„ ์ฐพ๊ณ  ์žˆ๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ๋Š” ํ•ญ์ƒ
+์–ด๋–ค ํŒจ์น˜๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ข‹์€์ง€์— ๊ด€ํ•˜์—ฌ ๋‹ค๋ฅธ ์˜๊ฒฌ๋“ค์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์€
+ํ˜‘์กฐ์ ์ด์–ด์•ผ ํ•˜๊ณ  ๊ธฐ๊บผ์ด ์—ฌ๋Ÿฌ๋ถ„์˜ ์ƒ๊ฐ์„ ์ปค๋„ ๋‚ด์— ๋งž์ถ”์–ด์•ผ ํ•œ๋‹ค. ์•„๋‹ˆ๋ฉด
+์ ์–ด๋„ ์—ฌ๋Ÿฌ๋ถ„์˜ ๊ฒƒ์ด ๊ฐ€์น˜์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์ค‘๋ช…ํ•˜์—ฌ์•ผ ํ•œ๋‹ค. ์ž˜๋ชป๋œ ๊ฒƒ๋„ ์—ฌ๋Ÿฌ๋ถ„์ด
+์˜ฌ๋ฐ”๋ฅธ ๋ฐฉํ–ฅ์˜ ํ•ด๊ฒฐ์ฑ…์œผ๋กœ ์ด๋Œ์–ด๊ฐˆ ์˜์ง€๊ฐ€ ์žˆ๋‹ค๋ฉด ๋ฐ›์•„๋“ค์—ฌ์งˆ ๊ฒƒ์ด๋ผ๋Š” ์ ์„
+๊ธฐ์–ตํ•˜๋ผ.
+
+์—ฌ๋Ÿฌ๋ถ„์˜ ์ฒซ ํŒจ์น˜์—  ์—ฌ๋Ÿฌ๋ถ„์ด ์ˆ˜์ •ํ•ด์•ผํ•˜๋Š” ์‹ญ์—ฌ๊ฐœ ์ •๋„์˜ ํšŒ์‹ ์ด ์˜ค๋Š”
+๊ฒฝ์šฐ๋„ ํ”ํ•˜๋‹ค. ์ด๊ฒƒ์€ ์—ฌ๋Ÿฌ๋ถ„์˜ ํŒจ์น˜๊ฐ€ ๋ฐ›์•„๋“ค์—ฌ์ง€์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๋Š” ๊ฒƒ์„
+์˜๋ฏธํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ณ  ๊ฐœ์ธ์ ์œผ๋กœ ์—ฌ๋Ÿฌ๋ถ„์—๊ฒŒ ๊ฐ์ •์ด ์žˆ์–ด์„œ ๊ทธ๋Ÿฌ๋Š” ๊ฒƒ๋„
+์•„๋‹ˆ๋‹ค. ๊ฐ„๋‹จํžˆ ์—ฌ๋Ÿฌ๋ถ„์˜ ํŒจ์น˜์— ์ œ๊ธฐ๋œ ๋ฌธ์ œ๋“ค์„ ์ˆ˜์ •ํ•˜๊ณ  ๊ทธ๊ฒƒ์„ ๋‹ค์‹œ
+๋ณด๋‚ด๋ผ.
+
+
+์ปค๋„ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ๊ธฐ์—… ์กฐ์ง๊ฐ„์˜ ์ฐจ์ด์ 
+-----------------------------------------------------------------
+์ปค๋„ ์ปค๋ฎค๋‹ˆํ‹ฐ๋Š” ๊ฐ€์žฅ ์ „ํ†ต์ ์ธ ํšŒ์‚ฌ์˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๊ณผ๋Š” ๋‹ค๋ฅด๋‹ค. ์—ฌ๊ธฐ์— ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜
+๋ฌธ์ œ๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ๋ก์ด ์žˆ๋‹ค.
+  ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์ œ์•ˆํ•œ ๋ณ€๊ฒฝ๋“ค์— ๊ด€ํ•˜์—ฌ ๋งํ•  ๋•Œ ์ข‹์€ ๊ฒƒ๋“ค :
+    - " ์ด๊ฒƒ์€ ์—ฌ๋Ÿฌ ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒนํ•ฉ๋‹ˆ๋‹ค."
+    - "์ด๊ฒƒ์€ 2000 ๋ผ์ธ์˜ ์ฝ”๋“œ๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค."
+    - "์ด๊ฒƒ์€ ๋‚ด๊ฐ€ ๋งํ•˜๋ ค๋Š” ๊ฒƒ์— ๊ด€ํ•ด ์„ค๋ช…ํ•˜๋Š” ํŒจ์น˜์ž…๋‹ˆ๋‹ค."
+    - "๋‚˜๋Š” 5๊ฐœ์˜ ๋‹ค๋ฅธ ์•„ํ‚คํ…์ณ์—์„œ ๊ทธ๊ฒƒ์„ ํ…Œ์ŠคํŠธํ–ˆ์Šด์œผ๋กœ..."
+    - "์—ฌ๊ธฐ์— ์ผ๋ จ์˜ ์ž‘์€ ํŒจ์น˜๋“ค์ด ์žˆ์Šต์Œ๋กœ..."
+    - "์ด๊ฒƒ์€ ์ผ๋ฐ˜์ ์ธ ๋จธ์‹ ์—์„œ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋ฏ€๋กœ..."
+
+  ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ๋งํ•  ๋•Œ ํ”ผํ•ด์•ผ ํ•  ์ข‹์ง€ ์•Š์€ ๊ฒƒ๋“ค :
+    - "์šฐ๋ฆฌ๋ฅผ ๊ทธ๊ฒƒ์„ AIT/ptx/Solaris์—์„œ ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๊ทธ๊ฒƒ์€ ์ข‹์€ ๊ฒƒ์ž„์— ํ‹€๋ฆฝ์—†๋‹ค..."
+    - "๋‚˜๋Š” 20๋…„๋™์•ˆ ์ด๊ฒƒ์„ ํ•ด์™”๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ..."
+    - "์ด๊ฒƒ์€ ๋ˆ์„ ๋ฒŒ๊ธฐ์œ„ํ•ด ๋‚˜์˜ ํšŒ์‚ฌ๊ฐ€ ํ•„์š”๋กœ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค."
+    - "์ด๊ฒƒ์€ ์šฐ๋ฆฌ์˜ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์ƒํ’ˆ ๋ผ์ธ์„ ์œ„ํ•œ ๊ฒƒ์ด๋‹ค."
+    - "์—ฌ๊ธฐ์— ๋‚˜์˜ ์ƒ๊ฐ์„ ๋งํ•˜๊ณ  ์žˆ๋Š” 1000 ํŽ˜์ด์ง€ ์„ค๊ณ„ ๋ฌธ์„œ๊ฐ€ ์žˆ๋‹ค."
+    - "๋‚˜๋Š” 6๋‹ฌ๋™์•ˆ ์ด๊ฒƒ์„ ํ–ˆ์œผ๋‹ˆ..."
+    - "์—ฌ๊ธฐ์„ธ 5000๋ผ์ธ ์งœ๋ฆฌ ํŒจ์น˜๊ฐ€ ์žˆ์œผ๋‹ˆ..."
+    - "๋‚˜๋Š” ํ˜„์žฌ ๋’ค์ฃฝ๋ฐ•์ฃฝ์ธ ๊ฒƒ์„ ์žฌ์ž‘์„ฑํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ์—..."
+    - "๋‚˜๋Š” ๋งˆ๊ฐ์‹œํ•œ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์ด ํŒจ์น˜๋Š” ์ง€๊ธˆ ์ ์šฉ๋  ํ•„์š”๊ฐ€ ์žˆ๋‹ค."
+
+์ปค๋„ ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์ „ํ†ต์ ์ธ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๋“ค๊ณผ
+๋˜ ๋‹ค๋ฅธ ์ ์€ ์–ผ๊ตด์„ ๋ณด์ง€ ์•Š๊ณ  ์ผํ•œ๋‹ค๋Š” ์ ์ด๋‹ค. ์ด๋ฉ”์ผ๊ณผ irc๋ฅผ ๋Œ€ํ™”์˜
+์ฃผ์š”์ˆ˜๋‹จ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์˜ ํ•œ๊ฐ€์ง€ ์žฅ์ ์€ ์„ฑ๋ณ„์ด๋‚˜ ์ธ์ข…์˜ ์ฐจ๋ณ„์ด
+์—†๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋ฆฌ๋ˆ…์Šค ์ปค๋„์˜ ์ž‘์—… ํ™˜๊ฒฝ์—์„œ๋Š” ๋‹จ์ง€ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋งŒ
+์•Œ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ์„ฑ๊ณผ ์†Œ์ˆ˜ ๋ฏผ์กฑ๋“ค๋„ ๋ชจ๋‘ ๋ฐ›์•„๋“ค์—ฌ์ง„๋‹ค. ๊ตญ์ œ์ ์œผ๋กœ
+์ผํ•˜๊ฒŒ ๋˜๋Š” ์ธก๋ฉด์€ ์‚ฌ๋žŒ์˜ ์ด๋ฆ„์— ๊ทผ๊ฑฐํ•˜์—ฌ ์„ฑ๋ณ„์„ ์ถ”์ธกํ•  ์ˆ˜ ์—†๊ฒŒ
+ํ•˜๊ธฐ๋•Œ๋ฌธ์—  ์ฐจ๋ณ„์„ ์—†์• ๋Š” ๋ฐ ๋„์›€์„ ์ค€๋‹ค. Andrea๋ผ๋Š” ์ด๋ฆ„์„ ๊ฐ€์ง„ ๋‚จ์ž์™€
+Pat์ด๋ผ๋Š” ์ด๋ฆ„์„ ๊ฐ€์ง„ ์—ฌ์ž๊ฐ€ ์žˆ์„ ์ˆ˜๋„ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ๋ฆฌ๋ˆ…์Šค ์ปค๋„์—์„œ
+์ž‘์—…ํ•˜๋ฉฐ ์ƒ๊ฐ์„ ํ‘œํ˜„ํ•ด์™”๋˜ ๋Œ€๋ถ€๋ถ„์˜ ์—ฌ์„ฑ๋“ค์€ ๊ธ์ •์ ์ธ ๊ฒฝํ—˜์„ ๊ฐ€์ง€๊ณ 
+์žˆ๋‹ค.
+
+์–ธ์–ด ์žฅ๋ฒฝ์€ ์˜์–ด์— ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ๋ช‡๋ช‡ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜๋„ ์žˆ๋‹ค.
+ ์–ธ์–ด์˜ ํ›Œ๋ฅญํ•œ ๊ตฌ์‚ฌ๋Š” ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ์—์„œ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž์‹ ์˜ ์ƒ๊ฐ์„
+ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ํ•„์š”ํ•˜๋‹ค. ๊ทธ๋ž˜์„œ ์—ฌ๋Ÿฌ๋ถ„์€ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด๊ธฐ ์ „์—
+์˜์–ด๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€๋ฅผ ์ฒดํฌํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•˜๋‹ค.
+
+
+์—ฌ๋Ÿฌ๋ถ„์˜ ๋ณ€๊ฒฝ์„ ๋‚˜๋ˆ„์–ด๋ผ
+------------------------
+
+๋ฆฌ๋ˆ…์Šค ์ปค๋„ ์ปค๋ฎค๋‹ˆํ‹ฐ๋Š” ํ•œ๊บผ๋ฒˆ์— ๊ต‰์žฅํžˆ ํฐ ์ฝ”๋“œ์˜ ๋ฌถ์Œ์„ ์‰ฝ๊ฒŒ
+๋ฐ›์•„๋“ค์ด์ง€ ์•Š๋Š”๋‹ค. ๋ณ€๊ฒฝ์€ ์ ์ ˆํ•˜๊ฒŒ ์†Œ๊ฐœ๋˜๊ณ , ๊ฒ€ํ† ๋˜๊ณ , ๊ฐ๊ฐ์˜
+๋ถ€๋ถ„์œผ๋กœ ์ž‘๊ฒŒ ๋‚˜๋ˆ„์–ด์ ธ์•ผ ํ•œ๋‹ค. ์ด๊ฒƒ์€ ํšŒ์‚ฌ์—์„œ ํ•˜๋Š” ๊ฒƒ๊ณผ๋Š” ์ •ํ™•ํžˆ
+๋ฐ˜๋Œ€๋˜๋Š” ๊ฒƒ์ด๋‹ค. ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ์ œ์•ˆ์€ ๊ฐœ๋ฐœ ์ดˆ๊ธฐ์— ์ผ์ฐ์ด ์†Œ๊ฐœ๋˜์•ผ ํ•œ๋‹ค.
+๊ทธ๋ž˜์„œ ์—ฌ๋Ÿฌ๋ถ„๋“ค์€ ์ž์‹ ์ด ํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์— ๊ด€ํ•˜์—ฌ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ
+๋œ๋‹ค. ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ํ•จ๊ป˜ ์ผํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„
+๋А๋ผ๋„๋ก ๋งŒ๋“ค๊ณ  ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์—ฌ๋Ÿฌ๋ถ„์˜ ๊ธฐ๋Šฅ์„ ์œ„ํ•œ ์“ฐ๋ ˆ๊ธฐ ์žฅ์œผ๋กœ์„œ
+์‚ฌ์šฉ๋˜์ง€ ์•Š๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋А๋ผ๊ฒŒ ํ•˜์ž. ๊ทธ๋Ÿฌ๋‚˜ ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ์— ํ•œ๋ฒˆ์—
+50๊ฐœ์˜ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด์ง€๋Š” ๋ง์•„๋ผ. ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ์ผ๋ จ์˜ ํŒจ์น˜๋“ค์€ ํ•ญ์ƒ
+๋” ์ž‘์•„์•ผ ํ•œ๋‹ค.
+
+ํŒจ์น˜๋ฅผ ๋‚˜๋ˆ„๋Š” ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
+
+1) ์ž‘์€ ํŒจ์น˜๋“ค์€ ์—ฌ๋Ÿฌ๋ถ„์˜ ํŒจ์น˜๋“ค์ด ์ ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ํ™•๋ฅ ์„ ๋†’์—ฌ์ค€๋‹ค.
+   ์™œ๋ƒํ•˜๋ฉด ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์€ ์ •ํ™•์„ฑ์„ ๊ฒ€์ฆํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ๋งŽ์€ ์‹œ๊ฐ„๊ณผ ๋…ธ๋ ฅ์„
+   ๋“ค์ด๊ธฐ๋ฅผ ์›ํ•˜์ง€ ์•Š๋Š”๋‹ค. 5์ค„์˜ ํŒจ์น˜๋Š” ๋ฉ”์ธํŠธ๋„ˆ๊ฐ€ ๊ฑฐ์˜ ๋ช‡ ์ดˆ๊ฐ„ ํž๋—
+   ๋ณด๋ฉด ์ ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ 500 ์ค„์˜ ํŒจ์น˜๋Š” ์ •ํ™•์„ฑ์„ ๊ฒ€ํ† ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ
+   ๋ช‡์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜๋„ ์žˆ๋‹ค(๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์€ ํŒจ์น˜์˜ ํฌ๊ธฐ ํ˜น์€ ๋‹ค๋ฅธ ๊ฒƒ์—
+   ๋น„๋ก€ํ•˜์—ฌ ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ๋Š˜์–ด๋‚œ๋‹ค).
+
+   ํŒจ์น˜๋ฅผ ์ž‘๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ๋ฌด์—‡์ธ๊ฐ€ ์ž˜๋ชป๋˜์—ˆ์„ ๋•Œ ๋””๋ฒ„๊ทธํ•˜๋Š” ๊ฒƒ์„
+   ์‰ฝ๊ฒŒ ๋งŒ๋“ ๋‹ค. ์ฆ‰, ๊ทธ๋ ‡๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ๋งค์šฐ ํฐ ํŒจ์น˜๋ฅผ ์ ์šฉํ•œ ํ›„์—
+   ์กฐ์‚ฌํ•˜๋Š” ๊ฒƒ ๋ณด๋‹ค ์ž‘์€ ํŒจ์น˜๋ฅผ ์ ์šฉํ•œ ํ›„์— (๊ทธ๋ฆฌ๊ณ  ๋ช‡๋ช‡์˜ ๊ฒƒ์ด
+   ๊นจ์กŒ์„ ๋•Œ) ํ•˜๋‚˜์”ฉ ํŒจ์น˜๋“ค์„ ์ œ๊ฑฐํ•ด๊ฐ€๋ฉฐ ๋””๋ฒ„๊ทธ ํ•˜๊ธฐ ์‰ฝ๋„๋ก ๋งŒ๋“ค์–ด ์ค€๋‹ค.
+
+2) ์ž‘์€ ํŒจ์น˜๋“ค์„ ๋ณด๋‚ด๋Š” ๊ฒƒ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํŒจ์น˜๋“ค์„ ์ œ์ถœํ•˜๊ธฐ์ „์— ์žฌ์ž‘์„ฑํ•˜๊ณ 
+   ๊ฐ„๋‹จํ•˜๊ฒŒ(ํ˜น์€ ๊ฐ„๋‹จํ•œ๊ฒŒ ์žฌ๋ฐฐ์น˜ํ•˜์—ฌ) ํ•˜๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•˜๋‹ค.
+
+์—ฌ๊ธฐ์— ์ปค๋„ ๊ฐœ๋ฐœ์ž Al Viro์˜ ์ด์•ผ๊ธฐ๊ฐ€ ์žˆ๋‹ค.
+    "ํ•™์ƒ์˜ ์ˆ˜ํ•™ ์ˆ™์ œ๋ฅผ ์ฑ„์ ํ•˜๋Š” ์„ ์ƒ๋‹˜์„ ์ƒ๊ฐํ•ด๋ณด๋ผ. ์„ ์ƒ๋‹˜์€ ํ•™์ƒ๋“ค์ด
+    ๋‹ต์„ ์–ป์„๋•Œ๊นŒ์ง€ ๊ฒช์€ ์‹œํ–‰์ฐฉ์˜ค๋ฅผ ๋ณด๊ธธ ์›ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์„ ์ƒ๋‹˜๋“ค์€
+    ๊ฐ„๊ฒฐํ•˜๊ณ  ๊ฐ€์žฅ ๋›ฐ์–ด๋‚œ ๋‹ต์„ ๋ณด๊ธธ ์›ํ•œ๋‹ค. ํ›Œ๋ฅญํ•œ ํ•™์ƒ์€ ์ด๊ฒƒ์„ ์•Œ๊ณ 
+    ๋งˆ์ง€๋ง‰์œผ๋กœ ๋‹ต์„ ์–ป๊ธฐ ์ „ ์ค‘๊ฐ„ ๊ณผ์ •๋“ค์„ ์ œ์ถœํ•˜์ง„ ์•Š๋Š”๋‹ค.
+
+    ์ปค๋„ ๊ฐœ๋ฐœ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ด๋‹ค. ๋ฉ”์ธํŠธ๋„ˆ๋“ค๊ณผ ๊ฒ€ํ† ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ ๋ฌธ์ œ๋ฅผ
+    ํ’€์–ด๋‚˜๊ฐ€๋Š” ๊ณผ์ •์†์— ์ˆจ๊ฒจ์ง„ ๊ณผ์ •์„ ๋ณด๊ธธ ์›ํ•˜์ง„ ์•Š๋Š”๋‹ค. ๊ทธ๋“ค์€
+    ๊ฐ„๊ฒฐํ•˜๊ณ  ๋ฉ‹์ง„ ๋‹ต์„ ๋ณด๊ธธ ์›ํ•œ๋‹ค."
+
+์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ํ•จ๊ป˜ ์ผํ•˜๋ฉฐ ๋›ฐ์–ด๋‚œ ๋‹ต์„ ์ฐพ๊ณ  ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ์™„์„ฑ๋˜์ง€ ์•Š์€ ์ผ๋“ค
+์‚ฌ์ด์— ๊ท ํ˜•์„ ์œ ์ง€ํ•ด์•ผ ํ•˜๋Š” ์–ด๋ ค์›€์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ํ”„๋กœ์„ธ์Šค์˜
+์ดˆ๋ฐ˜์— ์—ฌ๋Ÿฌ๋ถ„์˜ ์ผ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ์œ„ํ•œ ํ”ผ๋“œ๋ฐฑ์„ ์–ป๋Š” ๊ฒƒ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ
+์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ๋ณ€๊ฒฝ๋“ค์„ ์ž‘์€ ๋ฌถ์Œ์œผ๋กœ ์œ ์ง€ํ•ด์„œ ์‹ฌ์ง€์–ด๋Š” ์—ฌ๋Ÿฌ๋ถ„์˜ ์ž‘์—…์˜
+๋ชจ๋“  ๋ถ€๋ถ„์ด ์ง€๊ธˆ์€ ํฌํ•จ๋  ์ค€๋น„๊ฐ€ ๋˜์–ด์žˆ์ง€ ์•Š์ง€๋งŒ ์ž‘์€ ๋ถ€๋ถ„์€ ์ด๋ฏธ
+๋ฐ›์•„๋“ค์—ฌ์งˆ ์ˆ˜ ์žˆ๋„๋ก ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•˜๋‹ค.
+
+๋˜ํ•œ ์™„์„ฑ๋˜์ง€ ์•Š์•˜๊ณ  "๋‚˜์ค‘์— ์ˆ˜์ •๋  ๊ฒƒ์ด๋‹ค." ์™€ ๊ฐ™์€ ๊ฒƒ๋“ค์€ ํฌํ•จํ•˜๋Š”
+ํŒจ์น˜๋“ค์€ ๋ฐ›์•„๋“ค์—ฌ์ง€์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๋Š” ์ ์„ ์œ ๋…ํ•˜๋ผ.
+
+๋ณ€๊ฒฝ์„ ์ •๋‹นํ™”ํ•ด๋ผ
+-----------------
+
+์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ๋‚˜๋ˆ„์–ด์ง„ ํŒจ์น˜๋“ค์„ ๋ฆฌ๋ˆ…์Šค ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์™œ ๋ฐ˜์˜ํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ
+์•Œ๋„๋ก ํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค. ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๋“ค์ด ํ•„์š”ํ•˜๊ณ  ์œ ์šฉํ•˜๋‹ค๋Š”
+๊ฒƒ์€ ๋ฐ˜๋“œ์‹œ ๊ทธ์— ๋งž๋Š” ์ด์œ ๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
+
+
+๋ณ€๊ฒฝ์„ ๋ฌธ์„œํ™”ํ•ด๋ผ
+-----------------
+
+์—ฌ๋Ÿฌ๋ถ„์ด ํŒจ์น˜๋ฅผ ๋ณด๋‚ด๋ ค ํ• ๋•Œ๋Š” ์—ฌ๋Ÿฌ๋ถ„์ด ๋ฌด์—‡์„ ๋งํ•˜๋ ค๊ณ  ํ•˜๋Š”์ง€๋ฅผ ์ถฉ๋ถ„ํžˆ
+์ƒ๊ฐํ•˜์—ฌ ์ด๋ฉ”์ผ์„ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค. ์ด ์ •๋ณด๋Š” ํŒจ์น˜๋ฅผ ์œ„ํ•œ ChangeLog๊ฐ€ ๋ 
+๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•ญ์ƒ ๊ทธ ๋‚ด์šฉ์„ ๋ณด๊ธธ ์›ํ•˜๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด ๋ณด์กด๋ 
+๊ฒƒ์ด๋‹ค. ํŒจ์น˜๋Š” ์™„๋ฒฝํ•˜๊ฒŒ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ๋“ค์„ ํฌํ•จํ•˜์—ฌ ์„ค๋ช…ํ•ด์•ผ ํ•œ๋‹ค.
+  - ๋ณ€๊ฒฝ์ด ์™œ ํ•„์š”ํ•œ์ง€
+  - ํŒจ์น˜์— ๊ด€ํ•œ ์ „์ฒด ์„ค๊ณ„ ์–ดํ”„๋กœ์น˜
+  - ๊ตฌํ˜„ ์ƒ์„ธ๋“ค
+  - ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๋“ค
+
+์ด๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€ ๋” ์ž์„ธํ•œ ๊ฒƒ์„ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ ๋ฌธ์„œ์˜ ChageLog ํ•ญ์„ ๋ด๋ผ.
+   "The Perfect Patch"
+    http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt
+
+
+
+
+์ด ๋ชจ๋“  ๊ฒƒ์„ ํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์–ด๋ ค์šด ์ผ์ด๋‹ค. ์™„๋ฒฝํžˆ ์†Œํ™”ํ•˜๋Š” ๋ฐ๋Š” ์ ์–ด๋„ ๋ช‡๋…„์ด
+๊ฑธ๋ฆด ์ˆ˜๋„ ์žˆ๋‹ค. ๋งŽ์€ ์ธ๋‚ด์™€ ๊ฒฐ์˜๊ฐ€ ํ•„์š”ํ•œ ๊ณ„์†๋˜๋Š” ๊ฐœ์„ ์˜ ๊ณผ์ •์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜
+๊ฐ€๋Šฅํ•œํ•œ ํฌ๊ธฐํ•˜์ง€ ๋ง๋ผ. ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์€ ์ด์ „๋ถ€ํ„ฐ ํ•ด์™”๋˜ ๊ฒƒ์ด๊ณ  ๊ทธ ์‚ฌ๋žŒ๋“ค๋„
+์ •ํ™•ํ•˜๊ฒŒ ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์ง€๊ธˆ ์„œ ์žˆ๋Š” ๊ทธ ๊ณณ๋ถ€ํ„ฐ  ์‹œ์ž‘ํ–ˆ์—ˆ๋‹ค.
+
+
+
+
+----------
+"๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค"(http://linux.tar.gz/articles/2.6-development_process) ์„น์…˜์„
+์ž‘์„ฑํ•˜๋Š”๋ฐ ์žˆ์–ด ์ฐธ๊ณ ํ•  ๋ฌธ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ—ˆ๋ฝํ•ด์ค€ Paolo Ciarrocchi์—๊ฒŒ
+๊ฐ์‚ฌํ•œ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ๋งํ•ด์•ผ ํ•  ๊ฒƒ๊ณผ ๋งํ•ด์„œ๋Š” ์•ˆ๋˜๋Š” ๊ฒƒ์˜ ๋ชฉ๋ก ์ค‘ ์ผ๋ถ€๋ฅผ ์ œ๊ณตํ•ด์ค€
+Randy Dunlap๊ณผ Gerrit Huizenga์—๊ฒŒ ๊ฐ์‚ฌํ•œ๋‹ค. ๋˜ํ•œ ๊ฒ€ํ† ์™€ ์˜๊ฒฌ ๊ทธ๋ฆฌ๊ณ 
+๊ณตํ—Œ์„ ์•„๋ผ์ง€ ์•Š์€ Pat Mochel, Hanna Linder, Randy Dunlap, Kay Sievers,
+Vojtech Pavlik, Jan Kara, Josh Boyer, Kees Cook, Andrew Morton, Andi Kleen,
+Vadim Lobanov, Jesper Juhl, Adrian Bunk, Keri Harris, Frans Pop,
+David A. Wheeler, Junio Hamano, Michael Kerrisk, and Alex Shepard์—๊ฒŒ๋„ ๊ฐ์‚ฌ๋ฅผ ์ „ํ•œ๋‹ค.
+๊ทธ๋“ค์˜ ๋„์›€์ด ์—†์—ˆ๋‹ค๋ฉด ์ด ๋ฌธ์„œ๋Š” ์กด์žฌํ•˜์ง€ ์•Š์•˜์„ ๊ฒƒ์ด๋‹ค.
+
+
+
+๋ฉ”์ธํŠธ๋„ˆ: Greg Kroah-Hartman <greg@kroah.com>
index f7918401a0072c9b08bf81bb07434b66a96f6085..73c5f1f3d5d2e726c287396224df53cfca1bc65d 100644 (file)
@@ -882,7 +882,7 @@ static u32 handle_block_output(int fd, const struct iovec *iov,
                 * of the block file (possibly extending it). */
                if (off + len > device_len) {
                        /* Trim it back to the correct length */
-                       ftruncate(dev->fd, device_len);
+                       ftruncate64(dev->fd, device_len);
                        /* Die, bad Guest, die. */
                        errx(1, "Write past end %llu+%u", off, len);
                }
diff --git a/Documentation/lockstat.txt b/Documentation/lockstat.txt
new file mode 100644 (file)
index 0000000..4ba4664
--- /dev/null
@@ -0,0 +1,120 @@
+
+LOCK STATISTICS
+
+- WHAT
+
+As the name suggests, it provides statistics on locks.
+
+- WHY
+
+Because things like lock contention can severely impact performance.
+
+- HOW
+
+Lockdep already has hooks in the lock functions and maps lock instances to
+lock classes. We build on that. The graph below shows the relation between
+the lock functions and the various hooks therein.
+
+        __acquire
+            |
+           lock _____
+            |        \
+            |    __contended
+            |         |
+            |       <wait>
+            | _______/
+            |/
+            |
+       __acquired
+            |
+            .
+          <hold>
+            .
+            |
+       __release
+            |
+         unlock
+
+lock, unlock   - the regular lock functions
+__*            - the hooks
+<>             - states
+
+With these hooks we provide the following statistics:
+
+ con-bounces       - number of lock contention that involved x-cpu data
+ contentions       - number of lock acquisitions that had to wait
+ wait time min     - shortest (non-0) time we ever had to wait for a lock
+           max     - longest time we ever had to wait for a lock
+           total   - total time we spend waiting on this lock
+ acq-bounces       - number of lock acquisitions that involved x-cpu data
+ acquisitions      - number of times we took the lock
+ hold time min     - shortest (non-0) time we ever held the lock
+           max     - longest time we ever held the lock
+           total   - total time this lock was held
+
+From these number various other statistics can be derived, such as:
+
+ hold time average = hold time total / acquisitions
+
+These numbers are gathered per lock class, per read/write state (when
+applicable).
+
+It also tracks 4 contention points per class. A contention point is a call site
+that had to wait on lock acquisition.
+
+ - USAGE
+
+Look at the current lock statistics:
+
+( line numbers not part of actual output, done for clarity in the explanation
+  below )
+
+# less /proc/lock_stat
+
+01 lock_stat version 0.2
+02 -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+03                               class name    con-bounces    contentions   waittime-min   waittime-max waittime-total    acq-bounces   acquisitions   holdtime-min   holdtime-max holdtime-total
+04 -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+05
+06               &inode->i_data.tree_lock-W:            15          21657           0.18     1093295.30 11547131054.85             58          10415           0.16          87.51        6387.60
+07               &inode->i_data.tree_lock-R:             0              0           0.00           0.00           0.00          23302         231198           0.25           8.45       98023.38
+08               --------------------------
+09                 &inode->i_data.tree_lock              0          [<ffffffff8027c08f>] add_to_page_cache+0x5f/0x190
+10
+11 ...............................................................................................................................................................................................
+12
+13                              dcache_lock:          1037           1161           0.38          45.32         774.51           6611         243371           0.15         306.48       77387.24
+14                              -----------
+15                              dcache_lock            180          [<ffffffff802c0d7e>] sys_getcwd+0x11e/0x230
+16                              dcache_lock            165          [<ffffffff802c002a>] d_alloc+0x15a/0x210
+17                              dcache_lock             33          [<ffffffff8035818d>] _atomic_dec_and_lock+0x4d/0x70
+18                              dcache_lock              1          [<ffffffff802beef8>] shrink_dcache_parent+0x18/0x130
+
+This excerpt shows the first two lock class statistics. Line 01 shows the
+output version - each time the format changes this will be updated. Line 02-04
+show the header with column descriptions. Lines 05-10 and 13-18 show the actual
+statistics. These statistics come in two parts; the actual stats separated by a
+short separator (line 08, 14) from the contention points.
+
+The first lock (05-10) is a read/write lock, and shows two lines above the
+short separator. The contention points don't match the column descriptors,
+they have two: contentions and [<IP>] symbol.
+
+
+View the top contending locks:
+
+# grep : /proc/lock_stat | head
+              &inode->i_data.tree_lock-W:            15          21657           0.18     1093295.30 11547131054.85             58          10415           0.16          87.51        6387.60
+              &inode->i_data.tree_lock-R:             0              0           0.00           0.00           0.00          23302         231198           0.25           8.45       98023.38
+                             dcache_lock:          1037           1161           0.38          45.32         774.51           6611         243371           0.15         306.48       77387.24
+                         &inode->i_mutex:           161            286 18446744073709       62882.54     1244614.55           3653          20598 18446744073709       62318.60     1693822.74
+                         &zone->lru_lock:            94             94           0.53           7.33          92.10           4366          32690           0.29          59.81       16350.06
+              &inode->i_data.i_mmap_lock:            79             79           0.40           3.77          53.03          11779          87755           0.28         116.93       29898.44
+                        &q->__queue_lock:            48             50           0.52          31.62          86.31            774          13131           0.17         113.08       12277.52
+                        &rq->rq_lock_key:            43             47           0.74          68.50         170.63           3706          33929           0.22         107.99       17460.62
+                      &rq->rq_lock_key#2:            39             46           0.75           6.68          49.03           2979          32292           0.17         125.17       17137.63
+                         tasklist_lock-W:            15             15           1.45          10.87          32.70           1201           7390           0.58          62.55       13648.47
+
+Clear the statistics:
+
+# echo 0 > /proc/lock_stat
index d63f480afb74c6e84f05929763446f0732e58947..153d84d281e6aa6fa8c1bb6e001d39f8660c0444 100644 (file)
@@ -96,6 +96,9 @@ routing.txt
        - the new routing mechanism
 shaper.txt
        - info on the module that can shape/limit transmitted traffic.
+sk98lin.txt
+       - Marvell Yukon Chipset / SysKonnect SK-98xx compliant Gigabit
+         Ethernet Adapter family driver info
 skfp.txt
        - SysKonnect FDDI (SK-5xxx, Compaq Netelligent) driver info.
 smc9.txt
index 00b60cce22248697085a8194193ff85813c403ff..ea5a42e8f79f780ff14549b820423156f0fd5cd2 100644 (file)
@@ -58,9 +58,13 @@ software, so it's a straight round-robin qdisc.  It uses the same syntax and
 classification priomap that sch_prio uses, so it should be intuitive to
 configure for people who've used sch_prio.
 
-The PRIO qdisc naturally plugs into a multiqueue device.  If PRIO has been
-built with NET_SCH_PRIO_MQ, then upon load, it will make sure the number of
-bands requested is equal to the number of queues on the hardware.  If they
+In order to utilitize the multiqueue features of the qdiscs, the network
+device layer needs to enable multiple queue support.  This can be done by
+selecting NETDEVICES_MULTIQUEUE under Drivers.
+
+The PRIO qdisc naturally plugs into a multiqueue device.  If
+NETDEVICES_MULTIQUEUE is selected, then on qdisc load, the number of
+bands requested is compared to the number of queues on the hardware.  If they
 are equal, it sets a one-to-one mapping up between the queues and bands.  If
 they're not equal, it will not load the qdisc.  This is the same behavior
 for RR.  Once the association is made, any skb that is classified will have
diff --git a/Documentation/networking/sk98lin.txt b/Documentation/networking/sk98lin.txt
new file mode 100644 (file)
index 0000000..8590a95
--- /dev/null
@@ -0,0 +1,568 @@
+(C)Copyright 1999-2004 Marvell(R).
+All rights reserved
+===========================================================================
+
+sk98lin.txt created 13-Feb-2004
+
+Readme File for sk98lin v6.23
+Marvell Yukon/SysKonnect SK-98xx Gigabit Ethernet Adapter family driver for LINUX
+
+This file contains
+ 1  Overview
+ 2  Required Files
+ 3  Installation
+    3.1  Driver Installation
+    3.2  Inclusion of adapter at system start
+ 4  Driver Parameters
+    4.1  Per-Port Parameters
+    4.2  Adapter Parameters
+ 5  Large Frame Support
+ 6  VLAN and Link Aggregation Support (IEEE 802.1, 802.1q, 802.3ad)
+ 7  Troubleshooting
+
+===========================================================================
+
+
+1  Overview
+===========
+
+The sk98lin driver supports the Marvell Yukon and SysKonnect 
+SK-98xx/SK-95xx compliant Gigabit Ethernet Adapter on Linux. It has 
+been tested with Linux on Intel/x86 machines.
+***
+
+
+2  Required Files
+=================
+
+The linux kernel source.
+No additional files required.
+***
+
+
+3  Installation
+===============
+
+It is recommended to download the latest version of the driver from the 
+SysKonnect web site www.syskonnect.com. If you have downloaded the latest
+driver, the Linux kernel has to be patched before the driver can be 
+installed. For details on how to patch a Linux kernel, refer to the 
+patch.txt file.
+
+3.1  Driver Installation
+------------------------
+
+The following steps describe the actions that are required to install
+the driver and to start it manually. These steps should be carried
+out for the initial driver setup. Once confirmed to be ok, they can
+be included in the system start.
+
+NOTE 1: To perform the following tasks you need 'root' access.
+
+NOTE 2: In case of problems, please read the section "Troubleshooting" 
+        below.
+
+The driver can either be integrated into the kernel or it can be compiled 
+as a module. Select the appropriate option during the kernel 
+configuration.
+
+Compile/use the driver as a module
+----------------------------------
+To compile the driver, go to the directory /usr/src/linux and
+execute the command "make menuconfig" or "make xconfig" and proceed as 
+follows:
+
+To integrate the driver permanently into the kernel, proceed as follows:
+
+1. Select the menu "Network device support" and then "Ethernet(1000Mbit)"
+2. Mark "Marvell Yukon Chipset / SysKonnect SK-98xx family support" 
+   with (*) 
+3. Build a new kernel when the configuration of the above options is 
+   finished.
+4. Install the new kernel.
+5. Reboot your system.
+
+To use the driver as a module, proceed as follows:
+
+1. Enable 'loadable module support' in the kernel.
+2. For automatic driver start, enable the 'Kernel module loader'.
+3. Select the menu "Network device support" and then "Ethernet(1000Mbit)"
+4. Mark "Marvell Yukon Chipset / SysKonnect SK-98xx family support" 
+   with (M)
+5. Execute the command "make modules".
+6. Execute the command "make modules_install".
+   The appropriate modules will be installed.
+7. Reboot your system.
+
+
+Load the module manually
+------------------------
+To load the module manually, proceed as follows:
+
+1. Enter "modprobe sk98lin".
+2. If a Marvell Yukon or SysKonnect SK-98xx adapter is installed in 
+   your computer and you have a /proc file system, execute the command:
+   "ls /proc/net/sk98lin/" 
+   This should produce an output containing a line with the following 
+   format:
+   eth0   eth1  ...
+   which indicates that your adapter has been found and initialized.
+   
+   NOTE 1: If you have more than one Marvell Yukon or SysKonnect SK-98xx 
+           adapter installed, the adapters will be listed as 'eth0', 
+                   'eth1', 'eth2', etc.
+                   For each adapter, repeat steps 3 and 4 below.
+
+   NOTE 2: If you have other Ethernet adapters installed, your Marvell
+           Yukon or SysKonnect SK-98xx adapter will be mapped to the 
+                   next available number, e.g. 'eth1'. The mapping is executed 
+                   automatically.
+           The module installation message (displayed either in a system
+           log file or on the console) prints a line for each adapter 
+           found containing the corresponding 'ethX'.
+
+3. Select an IP address and assign it to the respective adapter by 
+   entering:
+   ifconfig eth0 <ip-address>
+   With this command, the adapter is connected to the Ethernet. 
+   
+   SK-98xx Gigabit Ethernet Server Adapters: The yellow LED on the adapter 
+   is now active, the link status LED of the primary port is active and 
+   the link status LED of the secondary port (on dual port adapters) is 
+   blinking (if the ports are connected to a switch or hub).
+   SK-98xx V2.0 Gigabit Ethernet Adapters: The link status LED is active.
+   In addition, you will receive a status message on the console stating
+   "ethX: network connection up using port Y" and showing the selected 
+   connection parameters (x stands for the ethernet device number 
+   (0,1,2, etc), y stands for the port name (A or B)).
+
+   NOTE: If you are in doubt about IP addresses, ask your network
+         administrator for assistance.
+  
+4. Your adapter should now be fully operational.
+   Use 'ping <otherstation>' to verify the connection to other computers 
+   on your network.
+5. To check the adapter configuration view /proc/net/sk98lin/[devicename].
+   For example by executing:    
+   "cat /proc/net/sk98lin/eth0" 
+
+Unload the module
+-----------------
+To stop and unload the driver modules, proceed as follows:
+
+1. Execute the command "ifconfig eth0 down".
+2. Execute the command "rmmod sk98lin".
+
+3.2  Inclusion of adapter at system start
+-----------------------------------------
+
+Since a large number of different Linux distributions are 
+available, we are unable to describe a general installation procedure
+for the driver module.
+Because the driver is now integrated in the kernel, installation should
+be easy, using the standard mechanism of your distribution.
+Refer to the distribution's manual for installation of ethernet adapters.
+
+***
+
+4  Driver Parameters
+====================
+
+Parameters can be set at the command line after the module has been 
+loaded with the command 'modprobe'.
+In some distributions, the configuration tools are able to pass parameters
+to the driver module.
+
+If you use the kernel module loader, you can set driver parameters
+in the file /etc/modprobe.conf (or /etc/modules.conf in 2.4 or earlier).
+To set the driver parameters in this file, proceed as follows:
+
+1. Insert a line of the form :
+   options sk98lin ...
+   For "...", the same syntax is required as described for the command
+   line parameters of modprobe below.
+2. To activate the new parameters, either reboot your computer
+   or 
+   unload and reload the driver.
+   The syntax of the driver parameters is:
+
+        modprobe sk98lin parameter=value1[,value2[,value3...]]
+
+   where value1 refers to the first adapter, value2 to the second etc.
+
+NOTE: All parameters are case sensitive. Write them exactly as shown 
+      below.
+
+Example:
+Suppose you have two adapters. You want to set auto-negotiation
+on the first adapter to ON and on the second adapter to OFF.
+You also want to set DuplexCapabilities on the first adapter
+to&nbs